Arrays.asList()
Java์์ ๋ฐฐ์ด์ ArrayList๋ก ๋ณํํ๊ธฐ
Java์์๋ ์ผ๋ฐ ๋ฐฐ์ด์ ArrayList
๋ก ๋ณํํ๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ด ๊ธ์์๋ Arrays.asList()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ๋ฆฌ์คํธ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ๊ณผ ์ฃผ์์ฌํญ, ๊ทธ๋ฆฌ๊ณ ArrayList
๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํ๊ฒ ์ต๋๋ค.
Arrays.asList() ์ฌ์ฉํ๊ธฐ
๋จผ์ , Arrays.asList()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ๋ฆฌ์คํธ๋ก ๋ณํํด๋ณด๊ฒ ์ต๋๋ค.
package Test;
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
public class TestArrayAsList {
public static void main(String[] args) {
String[] strs = {"alpha", "beta", "charlie"};
System.out.println(Arrays.toString(strs)); // [alpha, beta, charlie]
List<String> lst = Arrays.asList(strs); // new ArrayList<String>(); ๋์ ์ ์ฌ์ฉ
System.out.println(lst); // [alpha, beta, charlie]
lst.add("ttt"); // error : asList()๋ก List๋ฅผ ์์ฑํ๋ฉด ์์๋ฅผ ์๋กญ๊ฒ ์ถ๊ฐํ ์ ์์
// Changes in array or list write thru
strs[0] += "88";
lst.set(2, lst.get(2) + "99"); // 2๋ฒ์งธ ์ธ๋ฑ์ค ์์์ charlie99 ๋ฃ์
System.out.println(Arrays.toString(strs)); // [alpha88, beta, charlie99]
System.out.println(lst); // [alpha88, beta, charlie99]
// Initialize a list using an array
List<Integer> lstInt = Arrays.asList(22, 44, 11, 33);
System.out.println(lstInt); // [22, 44, 11, 33]
}
}
์ ์ฝ๋์์ Arrays.asList()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด strs
๋ฅผ ๋ฆฌ์คํธ๋ก ๋ณํํ lst
๋ ๋ฐฐ์ด๊ณผ ๋์ผํ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ฐธ์กฐํฉ๋๋ค. ๋ฐ๋ผ์ ๋ฆฌ์คํธ๋ฅผ ์์ ํ๋ฉด ์๋ณธ ๋ฐฐ์ด๋ ํจ๊ป ์์ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, strs[0]
์ ๋ณ๊ฒฝํ๋ฉด lst
์์๋ ํด๋น ๊ฐ์ด ๋ณ๊ฒฝ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
ํ์ง๋ง Arrays.asList()
๋ก ์์ฑ๋ ๋ฆฌ์คํธ๋ ๊ณ ์ ํฌ๊ธฐ ๋ฆฌ์คํธ์ด๊ธฐ ๋๋ฌธ์ ์์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ด ArrayList
์์ฑ์๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
ArrayList๋ก ๋ณํํ๊ธฐ
ArrayList
์์ฑ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณ ์ ํฌ๊ธฐ ๋ฆฌ์คํธ๊ฐ ์๋ ๊ฐ๋ณ ํฌ๊ธฐ ๋ฆฌ์คํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์๋ก์ด ๋ฆฌ์คํธ๋ฅผ ์์ฑํ์ฌ ์๋ณธ ๋ฐฐ์ด๊ณผ ๋
๋ฆฝ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฌ์ฉํ๊ฒ ํฉ๋๋ค.
package Test;
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
public class TestArrayAsList {
public static void main(String[] args) {
String[] strs = {"alpha", "beta", "charlie"};
System.out.println(Arrays.toString(strs)); // [alpha, beta, charlie]
List<String> lst = new ArrayList<String>(Arrays.asList(strs));
System.out.println(lst); // [alpha, beta, charlie]
lst.add("ttt"); // ์ด์ ๋ ์๋ฌ๊ฐ ๋์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ ์ํฌ ์ ์๋ค.
// Changes in array or list write thru
strs[0] += "88";
lst.set(2, lst.get(2) + "99"); // 2๋ฒ์งธ ์ธ๋ฑ์ค ์์์ charlie99 ๋ฃ์
System.out.println(Arrays.toString(strs)); // [alpha88, beta, charlie]
System.out.println(lst); // [alpha, beta, charlie99, ttt]
// Initialize a list using an array
List<Integer> lstInt = Arrays.asList(22, 44, 11, 33);
System.out.println(lstInt); // [22, 44, 11, 33]
}
}
์ด์ lst
๋ ๋
๋ฆฝ์ ์ธ ArrayList
๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ ์๋ณธ ๋ฐฐ์ด๊ณผ ์๊ด์์ด ์์๋ฅผ ์ถ๊ฐ, ์ญ์ ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ฐฐ์ด๊ณผ ๋ฆฌ์คํธ๋ ๋ณ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ์ง๊ฒ ๋์ด, ํ๋๋ฅผ ์์ ํด๋ ๋ค๋ฅธ ํ๋์๋ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค.
์ด์ ๊ฐ์ด Arrays.asList()
์ ArrayList
์์ฑ์๋ฅผ ์ ์ ํ ์ฌ์ฉํ๋ฉด ๋ฐฐ์ด๊ณผ ๋ฆฌ์คํธ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๋ณํํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ํ์์ ๋ฐ๋ผ ๊ณ ์ ํฌ๊ธฐ ๋ฆฌ์คํธ ๋๋ ๊ฐ๋ณ ํฌ๊ธฐ ๋ฆฌ์คํธ๋ฅผ ์ ํํ์ฌ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
Leave a comment