이 섹션에서는 다음 내용을 논의하겠습니다. 세트를 변환하는 방법 ( 해시세트 또는 트리세트 )를 목록( 배열목록 또는 링크드리스트 ).
Java에서 Set을 List로 변환하는 방법은 다음과 같습니다.
- 기본 접근 방식
- 생성자 사용(ArrayList 또는 LinkedList)
- ArrayList addAll() 메소드 사용
- 사용 개울 자바에서
기본 접근 방식
기본 접근 방식의 논리는 매우 간단합니다. 이 접근 방식에서는 간단히 Set(HashSet 또는 TreeSet)을 생성하고 Set을 반복하고 루프를 사용하여 Set의 모든 요소를 목록에 추가합니다.
SetToListExample1.java
import java.util.*; public class SetToListExample1 { public static void main(String args[]) { //creating a Set of type String Set set = new HashSet(); //adding elements to the Set set.add('Bordeaux'); set.add('Cannes'); set.add('Chamonix'); set.add('Chartres'); set.add('Clermont-Ferrand'); set.add('Limoges'); set.add('Marseille'); set.add('Nice'); set.add('Paris'); //determines the size of Set int n = set.size(); //creates an ArrayList of size n List list = new ArrayList(n); //loop iterates over Set for (String x : set) //adds elements to the list list.add(x); System.out.println('ArrayList is: '); //loop iterates over List for (String x : list) //prints the elements System.out.println(x); } }
산출:
ArrayList is: Cannes Bordeaux Marseille Nice Clermont-Ferrand Chartres Limoges Chamonix Paris
생성자 사용(ArrayList 또는 LinkedList 클래스)
논리는 위와 동일합니다. 유일한 차이점은 ArrayList 및 LinkedList 클래스의 생성자를 사용하고 설정 요소를 생성자에 전달했다는 것입니다.
mysql 워크벤치를 사용하는 방법
List list = new ArrayList(set); List lList = new LinkedList(set);
SetToListExample2.java
char 및 int 자바
import java.util.*; public class SetToListExample2 { public static void main(String args[]) { //creating a HashSet of type String Set set= new HashSet(); //adding elements to the Set set.add('Sharjah'); set.add('Dubai'); set.add('Abu Dhabi'); set.add('Kalba'); set.add('Dhaid'); set.add('Hatta'); //creates an ArrayList using constructor and passing elements to the constructor List list = new ArrayList(set); System.out.println('ArrayList is: '); //loop iterates over the list for (String x : list) //prints the ArrayList System.out.println(x); System.out.println(' LinkedList is: '); //creates LinkedList using constructor and passing elements to the constructor List lList = new LinkedList(set); //loop iterates over LinkedList for (String x : lList) //prints the LinkedList System.out.println(x); } }
산출:
ArrayList is: Sharjah Dhaid Kalba Hatta Dubai Abu Dhabi LinkedList is: Sharjah Dhaid Kalba Hatta Dubai Abu Dhabi
ArrayList.addAll() 메서드 사용
ArrayList.addAll() 메서드는 지정된 컬렉션의 Iterator에서 반환된 순서대로 지정된 컬렉션의 모든 요소를 이 목록의 끝에 추가합니다. AbstractCollection 클래스의 addAll() 메서드를 재정의합니다.
SetToListExample3.java
import java.util.*; public class SetToListExample3 { public static void main(String args[]) { //converting HashSet to ArrayList //creating a HashSet of type String Set set = new HashSet(); //adding elements to the Set set.add('Texas'); set.add('California'); set.add('Illinois'); set.add('Dallas'); set.add('San Jose'); set.add('California'); set.add('Austin'); set.add('Columbus'); //creates a constructor of the ArrayList class List list = new ArrayList(); //adding the set elements to the list using the addAll() method list.addAll(set); System.out.println('ArrayList is: '); //loop iterates over the LinkedList for (String x : list) //prints the ArrayList System.out.println(x); //converting HashSet to LinkedList List linkList = new LinkedList(); //adding Set elements to the LinkedList using the addAll() method linkList.addAll(set); System.out.println(' LinkedList is: '); //loop iterates over the LinkedList for (String x : linkList) //prints the LinkedList System.out.println(x); } }
산출:
ArrayList is: Texas Illinois Columbus California Austin Dallas San Jose LinkedList is: Texas Illinois Columbus California Austin Dallas San Jose
Java에서 스트림 사용
Stream을 사용하여 Set을 List로 변환하는 경우 먼저 Set을 스트림으로 변환한 다음 스트림을 List로 변환합니다. Java 8 이상 버전에서만 작동합니다.
List list = set.stream().collect(Collectors.toList());
개울(): stream() 메소드는 세트 또는 리스트의 일반 객체 스트림을 반환합니다.
스트림.수집(): Stream 클래스의 Collect() 메서드는 Stream의 요소를 Collection에 축적하는 데 사용됩니다.
Collectors.toList(): 이 메서드는 입력 요소를 새 목록으로 수집하는 수집기를 반환합니다.
예를 살펴보겠습니다.
스프링 부트 주석
SetToListExample4.java
import java.util.*; import java.util.stream.*; public class SetToListExample4 { public static void main(String args[]) { //Creating a hash set of strings Set set = new HashSet(); //adding elements to the Set set.add('London'); set.add('England'); set.add('Wales'); set.add('Scotland'); set.add('Bristol'); set.add('Cambridge'); //converts set to stream and then stream to list List list = set.stream().collect(Collectors.toList()); System.out.println('List is: '); //loop iterates over the list for (String x : list) //prints the list elements System.out.println(x); } }
산출:
List is: Cambridge Bristol Wales London England Scotland