728x90
반응형
Collection
Java Collection의 주요 인터페이스는 List, Set, Map이 있습니다. 인터페이스를 구분하는 가장 중요한 개념은 "순서", "데이터 중복 여부" 입니다.
- List - 순서가 있고, 데이터 중복이 가능합니다.
- Set - 순서가 없고, 데이터 중복이 불가능합니다.
- Map - Key, Value 구조로 데이터가 저장되고, Key는 중복이 불가능하지만 Value는 중복이 가능합니다.
Set
중복된 요소를 포함할 수 없는 인터페이스입니다. List와 다르게 인덱스를 사용하지 않기 때문에, 인덱스 매개변수가 없습니다. Set 인터페이스의 메서드는 아래와 같습니다.
Set 인터페이스를 구현한 클래스 종류
- HashSet
- Linked HashSet
- TreeSet
HashSet
해싱이라고 불리는 로직을 이용해서 객체를 저장합니다. 또한 기본적으로 Set은 중복된 데이터는 저장하지 않습니다.
기본적으로 데이터가 저장될 때 Set 정렬방식
- HashSet: 랜덤 정렬
- LinkedHashSet: 입력 순서대로 정렬
- TreeSet: comparator에 의해서 정렬
Set을 List로 변환하는 방법
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
set.add("해");
set.add("구름");
set.add("노을");
List<String> list = set.stream().collect(Collectors.toList());
System.out.println(list);
}
}
Stream API를 사용해서 List로 변환하는 방법
[참고]
728x90
반응형
'JAVA' 카테고리의 다른 글
[Java] Thread Local (0) | 2022.10.24 |
---|---|
[Java] Collection - Map (0) | 2022.09.19 |
[Java] Collection - List (0) | 2022.09.19 |
[Java] JDK 동적 프록시 (0) | 2022.08.24 |
[Java] Reflection (0) | 2022.08.24 |