자바에서는 정렬 그리고 목록 가장 중요한 두 가지 데이터 구조입니다. 이 섹션에서는 다음 내용을 학습합니다. Java 배열을 목록으로 변환하는 방법. 우리는 또한 만들었습니다 자바 프로그램 배열을 리스트로 변환하는 것 다양한 Java 메소드를 사용하여
Java에서 배열을 목록으로 변환
자바 배열 동일한 데이터 유형의 여러 값 모음입니다. 배열에는 객체와 기본 유형이 포함될 수 있습니다. 배열의 정의에 따라 다릅니다. 배열 정의가 기본 유형인 경우 배열 값은 전염성 메모리 위치에 저장됩니다. 배열에 개체 요소가 포함된 경우 요소는 힙 세그먼트에 저장됩니다.
~ 안에 자바 , ㅏ 목록 Java 컬렉션 프레임워크에 속하는 인터페이스입니다. 요소를 객체 형태로 순서대로 저장하고 삽입 순서를 유지합니다. 이를 통해 중복된 값을 저장할 수 있습니다. 수업 배열목록 , 링크드리스트 , 벡터 그리고 스택 List 인터페이스를 구현합니다.
Java는 Array를 List로 변환하는 5가지 방법을 제공합니다.
- 기본 방법
- Arrays.asList() 메서드 사용
- Collections.addAll() 메서드 사용
- Java 8 스트림 API 사용
- 구아바 Lists.newArrayList() 메서드 사용
기본 방법
Java Array를 List로 변환하는 가장 간단한 방법입니다. 이 방법에서는 먼저 빈 목록을 만들고 배열의 모든 요소를 목록에 추가합니다. 예를 살펴보겠습니다.
ArrayToListExample1.java
import java.util.*; public class ArrayToListExample1 { public static void main(String args[]) { //creating an array String array[] = { 'Golf', 'Soccer', 'Baseball', 'Volleyball', 'Tennis', 'Badminton', 'Rugby', 'Archery', 'Skiing'}; //prints the array before conversion System.out.println('Array before conversion: '+ Arrays.toString(array)); //calling the generic function that converts Array into List List list = ArrayToListConversion(array); //print the List System.out.println('Array as List: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T array[]) { //creating the constructor of the List class List list = new ArrayList(); //using for-each loop to iterate over the array for (T t : array) { //adding each element to the List list.add(t); } //returns the list converted into Array return list; } }
산출:
Arrays.asList() 메서드 사용
java.util 패키지에 속한 Java Arrays 클래스의 메소드입니다. Collection.toArray() 메서드와 함께 asList() 메서드를 사용하면 배열 기반 API와 컬렉션 기반 API 사이의 브리지 역할을 합니다.
통사론:
public static List asList(T... a)
이 메서드는 목록을 뒷받침할 매개변수로 배열을 구문 분석합니다. 지정된 배열의 직렬화 가능한 고정 크기 목록 보기를 반환합니다. 예를 살펴보겠습니다.
ArrayToListExample2.java
import java.util.*; public class ArrayToListExample2 { public static void main(String args[]) { //creating an array to be converted String arr[] = { 'Aston Martin', 'Bugatti', 'Bentley', 'Alfa Romeo', 'Buick', 'Acura', 'Audi', 'BMW', 'Buick' }; //prints array before conversion System.out.println('Array before conversion: '+ Arrays.toString(arr)); //calling generic method that converts Array into List List list = ArrayToListConversion(arr); //prints the List System.out.println('Array after conversion: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //invoking the asList() method and passing the array to be converted List list = Arrays.asList(arr); //returns the list return list; } }
산출:
Collections.addAll() 메서드 사용
의 방법이다 자바 컬렉션 수업. java.util 패키지에 속합니다. 클래스는 다음과 같은 메서드를 제공합니다. 모두 추가() . 이 메서드를 사용하여 Array를 List로 변환할 수 있습니다. 지정된 컬렉션에 모든 요소를 추가합니다. 요소를 개별적으로 또는 배열 형식으로 지정할 수 있습니다. 그것은 동일하게 작동합니다 c.addAll(Arrays.asList(요소)). 다른 구현보다 빠른 구현입니다.
통사론:
public static boolean addAll(Collection c, T... elements)
두 가지 매개변수를 구문 분석합니다.
그것은 반환 진실 호출의 결과로 컬렉션이 변경된 경우. 다음과 같은 예외가 발생합니다.
- 매개변수 c가 추가 작업을 지원하지 않으면 다음이 발생합니다. 지원되지 않는 작업예외 .
- 지정된 배열 요소에 하나 이상의 null 값이 포함되어 있고 c가 null 요소를 허용하지 않으면 다음이 발생합니다. NullPointer예외 .
- 배열 요소가 매개변수 c에 추가되는 것을 방해하는 경우 오류가 발생합니다. IllegalPointerException .
예를 살펴보겠습니다.
ArrayToListExample3.java
import java.util.*; public class ArrayToListExample3 { public static void main(String args[]) { //creating an Array to be converted String arr[] = { 'San Jose', 'Dallas', 'Chicago','San Antonio', 'Los Angeles', 'Portland', 'Tucson' }; //prints the Array System.out.println('Array before conversion: '+ Arrays.toString(arr)); //method calling List list = ArrayToListConversion(arr); //print the List System.out.println('Array after conversion: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creating the constructor of thr List class List list = new ArrayList(); //the method adds Array to the List Collections.addAll(list, arr); //returns the list return list; } }
산출:
Java 8 스트림 API 사용
Java 8은 Stream API를 제공합니다. 개체 컬렉션을 처리합니다. 원하는 결과를 생성하기 위해 파이프라인을 사용할 수 있는 일련의 메서드입니다. 원래 데이터 구조는 변경되지 않는다는 점을 기억하세요. 파이프라인 방법을 기반으로 출력을 제공합니다. 다양한 방법으로 Stream을 얻을 수 있지만 다음 프로그램에서는 다음을 사용했습니다. Arrays.stream(객체[]) 스트림을 달성하기 위해.
Collectors.toList() 메서드: 이 메서드는 입력 요소를 만남 메서드에서 새로 생성된 목록으로 수집하는 수집기를 반환합니다.
자바 xor
통사론:
public static Collector<t,?,list> toList() </t,?,list>
여기서 T는 우리가 지정한 요소의 유형입니다. 이 메서드는 유형, 변경 가능성, 스레드 안전성 및 직렬화 가능성을 보장하지 않습니다.
Java 프로그램에서 Stream API를 사용하고 배열을 목록으로 변환해 보겠습니다.
ArrayToListExample4.java
import java.util.*; import java.util.stream.Collectors; public class ArrayToListExample4 { //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creates a list from the specified Array and returns the List return Arrays.stream(arr).collect(Collectors.toList()); } public static void main(String args[]) { //creating an array to be converted into List String arr[] = { 'Python', 'HTM', 'Java', 'C', 'C++', 'JavaScript', 'Ruby', 'Swift', 'PHP' }; //prints the Array before conversion System.out.println('Array: '+ Arrays.toString(arr)); //calling the method created above and storing the elements into the List object List list = ArrayToListConversion(arr); //prints the List System.out.println('List: ' + list); } }
산출:
구아바 Lists.newArrayList() 사용
의 방법이다 기울기 속한 클래스 com.google.common.collect 패키지. 클래스는 메서드를 제공합니다. 새로운ArrayList() 이는 지정된 배열의 요소를 포함하는 변경 가능한 빈 ArrayList 인스턴스를 생성합니다.
통사론:
public static ArrayList newArrayList(E... elements)
참고: newArrayList() 메서드는 Java 6 및 이전 버전에서 사용할 수 있습니다. 이후 버전에서는 더 이상 사용되지 않습니다. 위의 방법 대신 ArrayList 생성자를 직접 사용합니다.
ArrayToListExample5.java
import static com.google.common.collect.Lists.*; import java.util.*; public class ArrayToListExample5 { public static void main(String args[]) { //creating an Array to be converted into a List String arr[] = { 'Mango', 'Banana', 'Grapes', 'Apple', 'Plum', 'Blackberry', 'Papaya', 'Orange' }; //prints the Array before conversion System.out.println('Array: '+ Arrays.toString(arr)); //convert the Array to List List list = ArrayToListConversion(arr); //prints the List System.out.println('List: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creates a List from the specified Array return Lists.newArrayList(arr); } }
산출: