passion and relax

[Java] Set을 List로 변경 본문

프로그래밍

[Java] Set을 List로 변경

Grab Java 2024. 3. 17. 15:24

자바에서 Set을 List로 변경하는 방법들

 

 변경하고자 하는 Set

Set<String> myFruit = new LinkedHashSet();

myFruit.add("apple");
myFruit.add("banana");
myFruit.add("kiwi");

 

 

 다이아몬드 연산자 이용

List<String> listFruits = new ArrayList<>(setFruits);

 

 

List의 addAll() 이용

List<String> listFruits = new ArrayList<String>();
listFruits.addAll(setFruits);

 

 

Guava Collect library 이용

import com.google.common.collect.Lists;
List<String> listFruits = Lists.newArrayList(setFruits);

 

 

Set의 stream()과 Collectors.toList()이용

List<String> listFruits = setFruits.stream().collect(Collectors.toList());

 

 

copyOf() 이용

List<String> listFruits = List.copyOf(setFruits);

 

 

asList(), toArray() 이용

List<String> listFruits = Arrays.asList(setFruits.toArray(new String[]{}));

 

 

enumeration() 이용

List<String> listFruits = Collections.list(Collections.enumeration(setFruits));

 

 

방법①을 적용하여 자료형에 범용적인 static 함수 생성

List<String> listFruits = getListFromSet(setFruits);

public static <Q> List<Q> getListFromSet(Set<Q> setSource) {
          return new ArrayList<Q>(setSource);
}