Java 8 Streams : 맵 내부의 목록 반복

Raghuveer

다른지도 안에 포함 된 객체 내부의 목록을 반복하는 데 문제가 있습니다. 내 목표는이 목록을 반복하고 map <String, String>을 생성하는 것입니다. 스트림과 람다를 사용하여이를 달성하고 싶습니다.

public class ModelBO {
    private String id;
    private String name;
    private String version;
    private Map<String, FolderBO> folderValues = null; 
}

public class FolderBO {
    private String id;
    private String name;
    private String type;
    private Map<String, String> properties;
    private List<ElementBO> elements = new ArrayList<ElementBO>();
}

public class ElementBO {
    private String id;
    private String name;
    private String type;
}

위에서 보았습니다. folderBo 안에있는 elementList를 반복하여 elementBo에서 map <id, name>을 사용하여 맵을 만들어야합니다. folderBo 자체는 ModelBo의 맵 안에 있습니다.

다음 코드를 작성했습니다.

  Map<String,String> elementMap = 
    UniModelBO.getInstance().getFolderValues().entrySet().stream()
       .filter(entrySet -> entrySet.getKey()!="relations")
       .map(entrySet -> entrySet.getValue().getElements()::stream)
       .collect(Collectors.toMap(ElementBO::getName, ElementBO::getId));

UniModelBO는 ModelBo에 대한 싱글 톤 객체를 생성하는 유틸리티 클래스입니다.

데드 풀

거의 완료되었습니다 flatMap. 중첩 List스트림을 단일 스트림으로 변환하는 데 사용 하면 됩니다. 또한 equals문자열 비교 방법 을 사용하는 것이 좋습니다 .

Map<String, String> elementMap =
        UniModelBO.getInstance().getFolderValues().entrySet().stream()
                .filter(entrySet -> !entrySet.getKey().equals("relations"))
                .flatMap(entrySet -> entrySet.getValue().getElements().stream())
                .collect(Collectors.toMap(ElementBO::getName, ElementBO::getId));
                           

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

목록 및 stream.map () 내부의 Java 8 반복 목록

분류에서Dev

Java 8-스트림을 사용하여 목록 내부의 루핑 맵

분류에서Dev

Java 8 Streams — 매핑 맵

분류에서Dev

Java 8의 배열 객체 반복 목록

분류에서Dev

Java8 그룹에 맵핑 할 목록 목록

분류에서Dev

C ++ : 하나의 루프에서 목록 및 무순 맵 반복

분류에서Dev

python3에서 맵과 목록 반복기의 차이점

분류에서Dev

Groovy-맵 또는 맵 목록에서 특정 키의 반복 횟수 계산

분류에서Dev

Java Stream 목록 내에서 목록을 반복하고 부울 값 계산

분류에서Dev

Java 8 : 항목 목록에 대한 필드 맵

분류에서Dev

목록 내 Java8 StreamFilter

분류에서Dev

목록의 목록 반복

분류에서Dev

Clojure 해시 맵 목록 반복

분류에서Dev

Java 8 스트림은 특정 객체를 맵에서 목록으로 복사합니다.

분류에서Dev

Java 8에서 스트림으로 목록 반복

분류에서Dev

Java 8 스트림을 사용하여 맵 목록 처리

분류에서Dev

Java 8 버전-조건이있는 목록 맵

분류에서Dev

두 번째로 null을 반환하는 목록 항목 어댑터 내부의 맵 조각 지원

분류에서Dev

맵 목록 내 맵의 키 변경

분류에서Dev

목록의 Python 목록 반복 목록

분류에서Dev

Java 8 Streams 필터를 사용하여 목록의 인덱스에 액세스 할 수 있습니까?

분류에서Dev

Java 8에서 람다 식으로 목록 (반복 항목없이) 인쇄

분류에서Dev

으로 반복 두 목록이 일치하는 항목을 찾아 java8를 사용하여 부울 반환

분류에서Dev

스트림 대 맵의 entrySet에서 반복자 - 자바 (8)

분류에서Dev

Terraform-내부 맵의 값에 따라 맵 맵을 반복합니다.

분류에서Dev

내부 객체에 관한 객체의 Java-8 정렬 목록

분류에서Dev

Java 8-목록에서 반복되는 요소 시퀀스 제거

분류에서Dev

목록 내부의 모델을 반복기에 바인딩

분류에서Dev

사전 내부 목록의 각 요소에 대해 반복

Related 관련 기사

  1. 1

    목록 및 stream.map () 내부의 Java 8 반복 목록

  2. 2

    Java 8-스트림을 사용하여 목록 내부의 루핑 맵

  3. 3

    Java 8 Streams — 매핑 맵

  4. 4

    Java 8의 배열 객체 반복 목록

  5. 5

    Java8 그룹에 맵핑 할 목록 목록

  6. 6

    C ++ : 하나의 루프에서 목록 및 무순 맵 반복

  7. 7

    python3에서 맵과 목록 반복기의 차이점

  8. 8

    Groovy-맵 또는 맵 목록에서 특정 키의 반복 횟수 계산

  9. 9

    Java Stream 목록 내에서 목록을 반복하고 부울 값 계산

  10. 10

    Java 8 : 항목 목록에 대한 필드 맵

  11. 11

    목록 내 Java8 StreamFilter

  12. 12

    목록의 목록 반복

  13. 13

    Clojure 해시 맵 목록 반복

  14. 14

    Java 8 스트림은 특정 객체를 맵에서 목록으로 복사합니다.

  15. 15

    Java 8에서 스트림으로 목록 반복

  16. 16

    Java 8 스트림을 사용하여 맵 목록 처리

  17. 17

    Java 8 버전-조건이있는 목록 맵

  18. 18

    두 번째로 null을 반환하는 목록 항목 어댑터 내부의 맵 조각 지원

  19. 19

    맵 목록 내 맵의 키 변경

  20. 20

    목록의 Python 목록 반복 목록

  21. 21

    Java 8 Streams 필터를 사용하여 목록의 인덱스에 액세스 할 수 있습니까?

  22. 22

    Java 8에서 람다 식으로 목록 (반복 항목없이) 인쇄

  23. 23

    으로 반복 두 목록이 일치하는 항목을 찾아 java8를 사용하여 부울 반환

  24. 24

    스트림 대 맵의 entrySet에서 반복자 - 자바 (8)

  25. 25

    Terraform-내부 맵의 값에 따라 맵 맵을 반복합니다.

  26. 26

    내부 객체에 관한 객체의 Java-8 정렬 목록

  27. 27

    Java 8-목록에서 반복되는 요소 시퀀스 제거

  28. 28

    목록 내부의 모델을 반복기에 바인딩

  29. 29

    사전 내부 목록의 각 요소에 대해 반복

뜨겁다태그

보관