본문 바로가기
○ 기술면접/알고리즘

프로그래머스: 짝수는 싫어요

by ZEROMI 2023. 6. 7.
728x90

 

1. ArrayList ➔ Array 변환

  • List 클래스의 인스턴스 메서드인 toArray()는 Object 타입의 배열을 반환한다.
List<Integer> list = new ArrayList<>();
Object[] objArr = list.toArray();

 

  • List 클래스의 인스턴스 메서드인 toArray(T[] a)는 T 타입 배열을 반환한다.
    파라미터 a의 길이는 0으로 지정 시 크기에 맞게 반환한다.
List<Integer> list = new ArrayList<>();
Integer[] arr = list.toArray(new Integer[0]);

 

  • 원시형 타입 배열로 얻으려면 언박싱이 필요하다.
List<Integer> list = new ArrayList<>();
int[] arr = list.stream().mapToInt(Integer::intValue).toArray();

 

2. Array ➔ ArrayList 변환

  • 원시형으로 얻을 경우 Arrays 클래스 사용
String[] arr = {"QQ", "DD", "RR"};
List<String> list = Arrays.asList(arr);

 

  • 원시형에서 참조형 변환 필요시 박싱 처리 필요
    int stream 으로 원소를 넘겨 받아 collect 호출하여 변환
int[] arr = {1, 2, 3, 4, 5};
List<Integer> list = Arrays.stream().boxed().collect(Collectors.toList());

 

 

728x90