溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

JDK8怎么通過(guò)Stream對(duì)List、Map操作和互轉(zhuǎn)

發(fā)布時(shí)間:2021-09-01 16:08:51 來(lái)源:億速云 閱讀:542 作者:chen 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“JDK8怎么通過(guò)Stream對(duì)List、Map操作和互轉(zhuǎn)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“JDK8怎么通過(guò)Stream對(duì)List、Map操作和互轉(zhuǎn)”吧!

1、Map數(shù)據(jù)轉(zhuǎn)換為自定義對(duì)象的List,例如把map的key,value分別對(duì)應(yīng)Person對(duì)象兩個(gè)屬性:

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對(duì)象轉(zhuǎn)換為其他List對(duì)象:

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中過(guò)濾出一個(gè)元素

User match = users.stream().filter((user) -> user.getId() == 1).findAny().get();

4、List轉(zhuǎn)換為Map

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));

到此,相信大家對(duì)“JDK8怎么通過(guò)Stream對(duì)List、Map操作和互轉(zhuǎn)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI