Java Array to List, List to Array

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);

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다.