Java์์ ๋ฐฐ์ด์ List(ArrayList)๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ
์ถ์ฒ: Rrtutors ์ค๋์ ๋ฐฐ์ด์ ๋ชฉ๋ก(ArrayList)์ผ๋ก ๋ณํํ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์ฐ๊ณ ๊ฐ ๋ฐฉ๋ฒ์ ์ฝ๋ ์์ ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ฐฐ์ด์ ๊ฐ๋จํ๊ณ ์ฌ์ฉํ๊ธฐ ์ฝ์ง๋ง ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋๋ ๋ฑ ๋ง์ ์ ํ ์ฌํญ์ด ์์ต๋๋ค. ์ด๋ก ์ธํด ์ฒ์์ ์ ์์๋ฅผ ์ถ๊ฐํ๊ณ ์์๋ฅผ ์ฌ๋ฐฐ์ดํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค. ์ปฌ๋ ์ ํ๋ ์์ํฌ ๋๋ถ์ List, Set, Queue๋ฅผ ๋ค์ํ ๋ฐฉ์์ผ๋ก ๊ตฌํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ณดํธ์ ์ด๊ณ ์ ์ฐํ ๋ฐฐ์ด ๋ชฉ๋ก(ArrayList)์ ์ฌ์ฉํฉ๋๋ค. Java์์ ๋ฐฐ์ด์ ๋ณํํ ๋ ์ฌ์ฉํ ์ ์๋ ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ด๋ฌํ ๋ฐฉ๋ฒ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.- ์์งํ๊ฑฐ๋ ๋ฌด์ฐจ๋ณ ๋์ ๋ฐฉ๋ฒ.
- Arrays.asList() ๋ฉ์๋ .
- Collections.addAll() ๋ฉ์๋ .
์์งํ๊ฑฐ๋ ๋ฌด์ฐจ๋ณ ๋์ ๋ฐฉ๋ฒ ์ฌ์ฉ
์ด ๋ฐฉ๋ฒ์์๋ ๋น ๋ฐฐ์ด์์ ๋ชฉ๋ก์ด ์์ฑ๋๊ณ ๋ฐฐ์ด์ ๊ฐ ์์๊ฐ ํ๋์ฉ ์ถ๊ฐ๋ฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ค์์ ์ํํ ํ์ ์๋ํฉ๋๋ค.- ๋ฐฐ์ด์ ๊ฐ์ ธ์ต๋๋ค.
- ๋น ๋ชฉ๋ก์ ๋ง๋ญ๋๋ค.
- ๋ฐฐ์ด์ ์์๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
- ์ด์ ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ์ ์ฒด ๋ชฉ๋ก์ ๋ฐํํฉ๋๋ค.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class NaivemethodExample {
public static <T> List<T> convertArrayToList(T array[])
{
List<T> list = new ArrayList<>();
for (T t : array) {
list.add(t);
}
return list;
}
public static void main(String args[])
{
String array[]
= { "Mangoes", "Oranges", "berries" };
System.out.println("Array: "
+ Arrays.toString(array));
List<String> list = convertArrayToList(array);
System.out.println("List: " + list);
}
}
Arrays.asList() ๋ฉ์๋
Arrays.asList() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐฐ์ด์ด ์์ฑ์์ ๋ํ ๋งค๊ฐ ๋ณ์๋ก List ์์ฑ์์ ์ ๋ฌ๋ฉ๋๋ค. ์ฌ๊ธฐ์ ๋ฐฐ์ด์ ๋ชฉ๋ก์ผ๋ก ๋ณํํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ผ์ผ ํฉ๋๋ค.- ๋ฐฐ์ด์ ๊ฐ์ ธ์ต๋๋ค.
- ๋ชฉ๋ก ์์ฑ์์ ๋ฐฐ์ด์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ์ฌ ๋ชฉ๋ก์ ๋ง๋ญ๋๋ค.
- ์ ์ฒด ๋ชฉ๋ก์ ๋ฐํํฉ๋๋ค.
package asList;
import java.util.Arrays;
import java.util.List;
public class asListExample {
public static <T> List<T> convertArrayToList(T array[])
{
List<T> list = Arrays.asList(array);
return list;
}
public static void main(String args[])
{
String array[]
= { "Mangoes", "Oranges", "berries" };
System.out.println("Array: "
+ Arrays.toString(array));
List<String> list = convertArrayToList(array);
System.out.println("List: " + list);
}
}
Collections.addAll() ๋ฉ์๋
๋ชฉ๋ก์ Java์ Collection ํจํค์ง์ ์ผ๋ถ์ด๋ฏ๋ก Collections.addAll() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ๋ชฉ๋ก์ผ๋ก ๋ณํํ ์ ์์ต๋๋ค . ์ด ๋ฉ์๋๋ ๋ค์ ๋จ๊ณ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ๋ชฉ๋ก์ผ๋ก ๋ณํํฉ๋๋ค.- ์ฐ๋ฆฌ๋ ๋ฐฐ์ด์ ์ป์ต๋๋ค.
- ๋น ๋ชฉ๋ก์ ๋ง๋ญ๋๋ค.
- collections.addAll() ๋ฉ์๋ ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ๋ชฉ๋ก์ผ๋ก ๋ณํํด ๋ณด๊ฒ ์ต๋๋ค .
- ์ฐ๋ฆฌ๋ ๋ชฉ๋ก์ ๋ฐํํฉ๋๋ค.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class collectionsall {
public static <T> List<T> convertArrayToList(T array[])
{
List<T> list = new ArrayList<>();
Collections.addAll(list, array);
return list;
}
public static void main(String args[])
{
String array[]
= { "peas", "tomatoes", "water melons" };
System.out.println("Array: "
+ Arrays.toString(array));
List<String> list = convertArrayToList(array);
System.out.println("List: " + list);
}
}
๊ฒฐ๋ก :
๋ฐฐ์ด: [์๋์ฝฉ, ํ ๋งํ , ์๋ฐ ] ๋ชฉ๋ก: [์๋์ฝฉ, ํ ๋งํ , ์๋ฐ ]
Java์ ์ข ์์ฑ ์ฃผ์
์ถ์ฒ: Medium ์ด ๊ฒ์๋ฌผ์์๋ Java์์ ์ข ์์ฑ ์ฃผ์ ์ด ๋ฌด์์ธ์ง, ์ด๋์ ์ฌ์ฉ๋๋์ง, ๊ฐ๋ฐ์์๊ฒ ์ด๋ค ์ด์ ์ ์ ๊ณตํ๋์ง ์์๋ด ๋๋ค. DI(์ข ์์ฑ ์ฃผ์ )๋ ์ํํธ์จ์ด ๊ตฌ์ฑ ์์์ ์ธ๋ถ ์ข ์์ฑ์ ์ ๊ณตํ๋ ํ๋ก์ธ์ค์ ๋๋ค. ์์กด์ฑ ์ฃผ์ ์ ๊ฐ์ฒด ์์ฑ ๋ฌธ์ ์ ๊ฐ์ฒด ์ฌ์ฉ ๋ฌธ์ ๋ฅผ ๋ถ๋ฆฌํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์๋ฒ ๋ฉ ์์น์ ํน์ ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ ค๋ ๊ฐ์ฒด๋ ํจ์๊ฐ ์๋น์ค๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์ ํ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋์ ์์ "ํด๋ผ์ด์ธํธ"(๊ฐ์ฒด ๋๋ ํจ์)๋ ์์ ์ด ์ธ์ํ์ง ๋ชปํ๋ ์ธ๋ถ ์ฝ๋("์ธ์ ํฐ")๋ก๋ถํฐ ์ข ์์ฑ์ ์์ ํฉ๋๋ค. ์ฌ๊ธฐ์ ์ข์ ์๊ฐ ์์ต๋๋ค. ํด๋์ค X๊ฐ ํด๋์ค Y์ ์ผ๋ถ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํด๋์ค X๊ฐ ํด๋์ค Y์ ์ข ์์ฑ์ ๊ฐ๊ณ ์๋ค๊ณ ๋งํฉ๋๋ค. ์ข ์์ฑ ์ฃผ์ ์ ์ฌ์ฉํ๋ฉด ํด๋์ค ์ธ๋ถ์ ์ข ์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ ํด๋น ๊ฐ์ฒด๋ฅผ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ํด๋์ค์ ๋ ธ์ถํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์ข ์ ๊ฐ์ฒด์ ์์ฑ ๋ฐ ๋ฐ์ธ๋ฉ์ ํด๋น ๊ฐ์ฒด์ ์ข ์๋ ํด๋์ค ์ธ๋ถ๋ก ์ด๋๋ฉ๋๋ค. ์ข ์์ฑ ์ฃผ์ ํจํด์๋ ์ธ ๊ฐ์ง ์ ํ์ ํด๋์ค๊ฐ ํฌํจ๋ฉ๋๋ค.- ํด๋ผ์ด์ธํธ ํด๋์ค์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์๋น์ค ํด๋์ค์ ๋๋ค.
- ํด๋ผ์ด์ธํธ ํด๋์ค - ์๋น์ค ํด๋์ค์ ์์กดํ๋ ํด๋์ค์ ๋๋ค.
- ์ธ์ ํฐ ํด๋์ค๋ ์๋น์ค ํด๋์ค ๊ฐ์ฒด๋ฅผ ํด๋ผ์ด์ธํธ ํด๋์ค์ ์ฃผ์ ํ๋ ํด๋์ค์ด๋ค.
์์กด์ฑ ์ฃผ์ ์ ์ ํ
์ข ์์ฑ ์ฃผ์ ์๋ ์ธ ๊ฐ์ง ์ ํ์ด ์์ต๋๋ค.- ์์ฑ์ ์ฃผ์ - ์์ฑ์ ์ฃผ์ ์ด ๋ฐ์ํ๋ฉด ์ธ์ ํฐ๋ ํด๋ผ์ด์ธํธ ํด๋์ค์ ์์ฑ์๋ฅผ ํตํด ์๋น์ค(์ข ์์ฑ)๋ฅผ ์ ๊ณตํฉ๋๋ค.
- Setter ์ฃผ์ - ์ด ์ ํ์ ์ฃผ์ (์์ฑ ์ฃผ์ ์ด๋ผ๊ณ ๋ ํจ)์์ ์ธ์ ํฐ๋ ํด๋ผ์ด์ธํธ ํด๋์ค์ ๊ณต์ฉ ์์ฑ์ ํตํด ์ข ์์ฑ์ ๋ ธ์ถํฉ๋๋ค.
- ๋ฉ์๋ ์ฃผ์ - ์ด ์ ํ์ ์ฃผ์ ์์ ํด๋ผ์ด์ธํธ ํด๋์ค๋ ์ข ์์ฑ์ ์ ๊ณตํ๊ธฐ ์ํด ๋ฉ์๋๋ฅผ ์ ์ธํ๋ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํฉ๋๋ค. ์ธ์ ํฐ๋ ์ด ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ ํด๋์ค์ ์ข ์์ฑ์ ์ ๊ณตํฉ๋๋ค.
์์กด์ฑ ์ฃผ์ ์ ์ด์
์ข ์์ฑ ์ฃผ์ ์ ๊ตฌํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ด ์์ต๋๋ค.- ์ฝ๋ ์ฌ์ฌ์ฉ.
- ๋ฆฌํฉํ ๋ง์ด ์ฉ์ดํฉ๋๋ค.
- ํ ์คํธ ์ฉ์ด์ฑ.
GO TO FULL VERSION