반응형
주문 보존 세트로 수집하는 Collector가 있습니까?
Collectors.toSet()
순서는 유지되지 않습니다.대신 Lists를 사용할 수 있지만 결과 컬렉션에서 요소의 복제가 허용되지 않음을 나타냅니다.Set
interface는 대상입니다.
사용할 수 있습니다.toCollection
원하는 세트의 구체적인 예를 제공합니다.예를 들어 삽입 순서를 유지하는 경우:
Set<MyClass> set = myStream.collect(Collectors.toCollection(LinkedHashSet::new));
예를 들어 다음과 같습니다.
public class Test {
public static final void main(String[] args) {
List<String> list = Arrays.asList("b", "c", "a");
Set<String> linkedSet =
list.stream().collect(Collectors.toCollection(LinkedHashSet::new));
Set<String> collectorToSet =
list.stream().collect(Collectors.toSet());
System.out.println(linkedSet); //[b, c, a]
System.out.println(collectorToSet); //[a, b, c]
}
}
언급URL : https://stackoverflow.com/questions/27611896/is-there-a-collector-that-collects-to-an-order-preserving-set
반응형
'source' 카테고리의 다른 글
2개의 빈을 자동 배선하여 동일한 인터페이스를 구현합니다.기본 빈을 autowire로 설정하려면 어떻게 해야 합니다. (0) | 2022.09.04 |
---|---|
서버 오류(BadRequest): 포드의 "mariadb" 컨테이너가 시작 대기 중입니다. CreateContainerConfigError (0) | 2022.09.04 |
각 루프의 반복이 시작되기 전에 늘체크를 회피하는 방법이 있나요? (0) | 2022.09.04 |
데이터베이스를 작성하기 위해 dotnet EF 마이그레이션을 사용할 때 문자 집합을 설정하는 방법은 무엇입니까? (0) | 2022.09.04 |
각 그룹의 합계를 총합으로 나누다 (0) | 2022.09.04 |