빡코

[Java] Arrays.asList 본문

카테고리 없음

[Java] Arrays.asList

chris.djang 2020. 2. 4. 18:40
Array(배열)을 List로 변경할때 사용한다. 
asList()를 사용해서 객체를 만들때 새로운 배열 객체를 만드는 것이 아니라, 원본배열의 주소값을 참조한다.
asList()를 사용해서 내용을 수정하면 원본 배열도 함께 바뀌게 됨
Arrays.asList()로 만든 List에 새로운 원소를 추가하거나 삭제는 할 수 없다. 

하고싶다면? 

List<String> lst = new ArrayList<>(Arrays.asList(str));

역으로 List를 Array로 바꾸려면?

 List<String> arrayList = Arrays.asList("a","b","C");
 String[] array = arrayList.toArray(arrayList);

 String을 char[]로 바꾸기 

String str = "abC"; char [] array = str.toCharArray();
public class Test2 {
    public static void main(String[] args) {
        String[] str = {"alpha","beta","chalie"};
        System.out.println(Arrays.toString(str));

        List<String> lst = Arrays.asList(str); //새로운 배열객체생성xxx, 원본배열의 주소값을 가지고온다.
        System.out.println(lst);
        //lst.add("ttt"); //에러발생!! 해당원소를 추가할 수 없음!
        //List<String> lst = new ArrayList<>(Arrays.asList(str)); // 이런식으로는 값추가 가능

        str[0] += "88";
        lst.set(2,lst.get(2)+"99");
        System.out.println(Arrays.toString(str));
        System.out.println(lst);

        List<Integer> lstInt = Arrays.asList(22,44,11,33);
        System.out.println(lstInt);

    }
}

 

출력값