본문 바로가기
Language/Java

자바 List에 값 넣은채로 선언하는 방법

by wakestand 2021. 10. 28.
반응형

자바에서 List 선언 시 값을 넣고 시작했으면 하는데

배열의 경우에는

데이터타입[] 배열명 = {'...'};

이런 식으로 매우 간단하게 할 수 있듯이

 

List의 경우에도 매우 간단하게

값을 넣고 선언시킬 수 있는데

쉬운 방법부터 차례대로 설명하자면

(ArrayList는 LinkedList로 변경해도 상관없음)

 

1. Factory Method를 사용하는 방법(자바 9부터 가능)

ArrayList<데이터타입> 리스트명 = new ArrayList<>(List.of("값"));

 

2. Arrays.asList를 사용하는 방법

List<데이터타입> 리스트명 = Arrays.asList("값");

ArrayList<데이터타입> 리스트명 = new ArrayList<>(Arrays.asList("값"));

 

> ArrayList, LinkedList로 받을 경우에는

생성자인 () 안에 List를 넣어주면 된다

 

3. 스트림(Stream)을 사용하는 방법

List<데이터타입> 리스트명 = Stream.of("값").collect(Collectors.toList());

 

4. Double-Brace를 사용하는 방법

ArrayList<데이터타입> 리스트명 = new ArrayList<>(){{ add("값"); add("값"); }};

 

전체 예제를 한번 쭉 보고나면

Factory Method 혹은 Arrays.asList를

사용하는 쪽이 매우 쉽기 때문에

이걸 사용해서 List에 값을 할당하면서

동시에 선언을 해 주면 되겠다

 

마지막으로 예제에 사용한 코드는 아래와 같다

 

        ArrayList<String> list1 = new ArrayList<>(List.of("AA", "BB")); // Factory Method - Java 9부터
        List<String> list2 = Arrays.asList("AA", "BB"); // Arrays.asList
        ArrayList<String> list3 = new ArrayList<>(Arrays.asList("AA", "BB")); // Array, LinkedList 로 받을 경우
        List<String> list4 = Stream.of("AA", "BB").collect(Collectors.toList()); // Stream - Java 8부터
        ArrayList<String> list5 = new ArrayList<>(){{ add("AA"); add("BB"); }}; // Double-Brace

        System.out.println(list1);
        System.out.println(list2);
        System.out.println(list3);
        System.out.println(list4);
        System.out.println(list5);
반응형

댓글