JDK 8 Stream 을 통 해 List,Map 조작 과 상호 전환 의 실현

1996 단어 JDK8StreamListMap
1.Map 데 이 터 를 사용자 정의 대상 의 List 로 변환 합 니 다.예 를 들 어 map 의 key,value 는 Person 대상 의 두 가지 속성 에 대응 합 니 다.

List<Person> list = map.entrySet().stream().sorted(Comparator.comparing(e -> e.getKey()))
 .map(e -> new Person(e.getKey(), e.getValue())).collect(Collectors.toList());
List<Person> list = map.entrySet().stream().sorted(Comparator.comparing(Map.Entry::getValue))
 .map(e -> new Person(e.getKey(), e.getValue())).collect(Collectors.toList());
List<Person> list = map.entrySet().stream().sorted(Map.Entry.comparingByKey())
 .map(e -> new Person(e.getKey(), e.getValue())).collect(Collectors.toList());
상기 세 가지 방식 이 다른 점 은 정렬 처리 에 있다.참조 링크:
https://www.concretepage.com/java/jdk-8/java-8-convert-map-to-list-using-collectors-tolist-example
2.List 대상 을 다른 List 대상 으로 변환:

 List<Employee> employees = persons.stream()
        .filter(p -> p.getLastName().equals("l1"))
        .map(p -> new Employee(p.getName(), p.getLastName(), 1000))
        .collect(Collectors.toList());
3.List 에서 하나의 요 소 를 걸 러 냅 니 다.

User match = users.stream().filter((user) -> user.getId() == 1).findAny().get();
4,List 지도 로 전환

public class Hosting {
 
  private int Id;
  private String name;
  private long websites;
 
  public Hosting(int id, String name, long websites) {
    Id = id;
    this.name = name;
    this.websites = websites;
  }
 
  //getters, setters and toString()
}
 Map<Integer, String> result1 = list.stream().collect(
        Collectors.toMap(Hosting::getId, Hosting::getName));
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기