ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] 배열(Array)을 리스트(List)로 변환 - 반복문, Arrays, Collection, Stream
    Java/Collection(컬렉션) 2023. 5. 6. 17:36
    반응형

    목차

       

      배열(Array)을 리스트(List)로 변환

      배열을 리스트로 변환하는 방법은 반복문을 사용하거나 Arrays, Collection, Stream 클래스에세 제공하는 메서드를 사용하여 변환할 수 있습니다.

       

      1. 반복문을 사용

      빈 리스트를 생성한 후, 배열의 모든 요소를 리스트에 추가하는 방법입니다.
      Integer, Double, String 등 여러 타입의 배열을 리스트로 변환하는 경우 제네릭 타입의 메서드를 정의하여 코드의 양을 줄일 수 있습니다.

      import java.util.ArrayList;
      import java.util.Arrays;
      import java.util.List;
      
      /**
       * 배열(Array)을 리스트(List)로 변환 - 반복문, Arrays, Collection, Steram
       *
       * <p>배열을 리스트로 변환하는 방법은 반복문을 사용하거나
       * Arrays, Collection, Stream 클래스에세 제공하는 메서드를 사용하여 변환할 수 있습니다.</p>
       */
      public class Example {
      
        public static void main(String[] args) {
      
          String arr[] = {"Python", "C", "Java", "C++", "Visual Basic"};
          System.out.println("배열: " + Arrays.toString(arr));
      
          List<String> list = convertArrayToList(arr);
          System.out.println("리스트:" + list);
        }
      
        /**
         * 방법 01. 반복문을 사용
         *
         * <p>빈 리스트를 생성한 후, 배열의 모든 요소를 리스트에 추가하는 방법입니다.</p>
         * <p>Integer, Double, String 등 여러 타입의 배열을 리스트로 변환하는 경우 제네릭 타입의 메서드를 정의하여 코드의 양을 줄일 수 있습니다.</p>
         */
        public static <T> List<T> convertArrayToList(T arr[]) {
          List<T> list = new ArrayList<>();
          for (T t : arr) {
            list.add(t);
          }
          return list;
        }
      }


      2. Arrays.asList() 메서드를 사용

      java.util 패키지에 속하는 Java Arrays 클래스의 메서드입니다.

      Arrays.asList()를 사용하면 java.util.Arrays 패키지에 존재하는 고정된 크기의 ArrayList를 반환하기 때문에 값을 추가하거나 삭제할 수 없습니다. 리스트의 값을 추가하거나 삭제가 필요한 경우, ArrayList 생성자 함수의 매개변수로 Arrays.asList() 메서드를 전달하여 java.util 패키지에 ArrayList를 반환받으시면 됩니다.

      import java.util.ArrayList;
      import java.util.Arrays;
      import java.util.List;
      
      /**
       * 배열(Array)을 리스트(List)로 변환 - 반복문, Arrays, Collection, Steram
       *
       * <p>배열을 리스트로 변환하는 방법은 반복문을 사용하거나
       * Arrays, Collection, Stream 클래스에세 제공하는 메서드를 사용하여 변환할 수 있습니다.</p>
       */
      public class Example {
      
        public static void main(String[] args) {
      
          String arr[] = {"Python", "C", "Java", "C++", "Visual Basic"};
          System.out.println("배열: " + Arrays.toString(arr));
      
          List<String> list = convertArrayToList01(arr);
          System.out.println("리스트:" + list);
        }
      
        /**
         * 방법 02. Arrays.asList() 메서드를 사용
         *
         * <p>java.util 패키지에 속하는 Java Arrays 클래스의 메서드입니다.</p>
         */
        public static <T> List<T> convertArrayToList01(T arr[]) {
          List<T> list = Arrays.asList(arr);
          return list;
        }
      
        /**
         * 방법 02. Arrays.asList() 메서드를 사용
         *
         * <p>Arrays.asList()를 사용하면 java.util.Arrays 패키지에 존재하는 고정된 크기의 ArrayList를 반환하기 때문에 값을 추가하거나 삭제할 수 없습니다. </p>
         * <p>리스트의 값을 추가하거나 삭제가 필요한 경우, ArrayList 생성자 함수의 매개변수로 Arrays.asList() 메서드를 전달하여 java.util 패키지에 ArrayList를 반환받으시면 됩니다.</p>
         */
        public static <T> List<T> convertArrayToList02(T arr[]) {
          List<T> list = new ArrayList<>(Arrays.asList(arr));
          return list;
        }
      }

       

      3. Collection.addAll() 메서드를 사용

      java.util 패키지에 속하는 Java Collections 클래스의 메서드입니다.

      import java.util.ArrayList;
      import java.util.Arrays;
      import java.util.Collections;
      import java.util.List;
      
      /**
       * 배열(Array)을 리스트(List)로 변환 - 반복문, Arrays, Collection, Steram
       *
       * <p>배열을 리스트로 변환하는 방법은 반복문을 사용하거나
       * Arrays, Collection, Stream 클래스에세 제공하는 메서드를 사용하여 변환할 수 있습니다.</p>
       */
      public class Example {
      
        public static void main(String[] args) {
      
          String arr[] = {"Python", "C", "Java", "C++", "Visual Basic"};
          System.out.println("배열: " + Arrays.toString(arr));
      
          List<String> list = convertArrayToList(arr);
          System.out.println("리스트:" + list);
        }
      
        /**
         * 방법 03. Collection.addAll() 메서드를 사용
         *
         * <p>java.util 패키지에 속하는 Java Collections 클래스의 메서드입니다.</p>
         */
        public static <T> List<T> convertArrayToList(T arr[]) {
          List<T> list = new ArrayList<>();
          Collections.addAll(list, arr);
          return list;
        }
      }

       

      4. Java8 Stream API를 사용

      import java.util.Arrays;
      import java.util.List;
      import java.util.stream.Collectors;
      
      /**
       * 배열(Array)을 리스트(List)로 변환 - 반복문, Arrays, Collection, Steram
       *
       * <p>배열을 리스트로 변환하는 방법은 반복문을 사용하거나
       * Arrays, Collection, Stream 클래스에세 제공하는 메서드를 사용하여 변환할 수 있습니다.</p>
       */
      public class Example {
      
        public static void main(String[] args) {
      
          String arr[] = {"Python", "C", "Java", "C++", "Visual Basic"};
          System.out.println("배열: " + Arrays.toString(arr));
      
          List<String> list = convertArrayToList(arr);
          System.out.println("리스트:" + list);
        }
      
        /**
         * 방법 04. Java8 Stream API를 사용
         */
        public static <T> List<T> convertArrayToList(T arr[]) {
          return Arrays.stream(arr).collect(Collectors.toList());
        }
      }
      반응형

      댓글

    Designed by Tistory.