Array to List
String[] stringArray = {"a", "b", "c"};
// java.util.Arrays.ArrayList != java.util.ArrayLit, Arrays.ArrayList는 불변한 리스트를 리턴한다. add() 메소드 사용불가
List<String> stringList = Arrays.asList(stringArray); // stringList는 고정길이 값을 가지게 된다(불변). add() 메소드 사용불가
List<String> stringList2 = Arrays.asList(new String[]{"a", "b", "c"}); // stringList는 고정길이 값을 가지게 된다(불변). add() 메소드 사용불가
// add()메소드를 사용하려면, new ArrayList 생성자를 이용한다.
ArrayList<String> arrayStringList = new ArrayList<>(Arrays.asList(stringArray));
List<String> arrayStringList2 = new ArrayList<>(Arrays.asList(stringArray));
int[] intArray = {1, 2, 3, 4};
// List<Integer> integerList = Arrays.asList(intArray); // 컴파일 불가, List는 기본형(primitive)타입은 지원하지 않음
// java 1.8 이후 버전에서는 stream을 이용하여 변환가능하다.
// boxed()는 int, long, double 기본형 타입을 각각 Integer, Long, Double 타입으로 변환하여 리턴한다.
List<Integer> intList = Arrays.stream(intArray).boxed().collect(Collectors.toList());
Integer[] integerArray = {1, 2, 3, 4};
List<Integer> integerList = Arrays.asList(integerArray); // 사용가능
List to Array
// list to array
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
String[] strings = list.toArray(String[]::new);
최신 댓글