91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java8怎樣通過Lambda處理List集合

發布時間:2021-02-01 13:58:01 來源:億速云 閱讀:225 作者:小新 欄目:編程語言

小編給大家分享一下Java8怎樣通過Lambda處理List集合,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

Java 8新增的Lambda表達式,我們可以用簡潔高效的代碼來處理List。

1、遍歷

public static void main(String[] args) {
  List<User> userList = Lists.newArrayList();

  User user1 = new User(1L, "張三", 24);
  User user2 = new User(2L, "李四", 27);
  User user3 = new User(3L, "王五", 21);

  userList.add(user1);
  userList.add(user2);
  userList.add(user3);

  userList.stream().forEach(user ->{
   System.out.println(user.getName());
  });

 }

運行結果:

Java8怎樣通過Lambda處理List集合

2、list轉為Map

public static void main(String[] args) {
  List<User> userList = Lists.newArrayList();//存放user對象集合

  User user1 = new User(1L, "張三", 24);
  User user2 = new User(2L, "李四", 27);
  User user3 = new User(3L, "王五", 21);

  userList.add(user1);
  userList.add(user2);
  userList.add(user3);

  //ID為key,轉為Map
  Map<Long,User> userMap = userList.stream().collect(Collectors.toMap(User::getId, a -> a,(k1, k2)->k1));
  System.out.println(userMap);

 }

運行結果:

Java8怎樣通過Lambda處理List集合

3、將List分組:List里面的對象元素,以某個屬性來分組

public static void main(String[] args) {
  List<User> userList = Lists.newArrayList();//存放user對象集合

  User user1 = new User(1L, "張三", 24);
  User user2 = new User(2L, "李四", 27);
  User user3 = new User(3L, "王五", 21);
  User user4 = new User(4L, "張三", 22);
  User user5 = new User(5L, "李四", 20);
  User user6 = new User(6L, "王五", 28);

  userList.add(user1);
  userList.add(user2);
  userList.add(user3);
  userList.add(user4);
  userList.add(user5);
  userList.add(user6);

  //根據name來將userList分組
  Map<String, List<User>> groupBy = userList.stream().collect(Collectors.groupingBy(User::getName));
  System.out.println(groupBy);

 }

運行結果:

Java8怎樣通過Lambda處理List集合

4、過濾:從集合中過濾出來符合條件的元素

public static void main(String[] args) {
  List<User> userList = Lists.newArrayList();//存放user對象集合

  User user1 = new User(1L, "張三", 24);
  User user2 = new User(2L, "李四", 27);
  User user3 = new User(3L, "王五", 21);
  User user4 = new User(4L, "張三", 22);
  User user5 = new User(5L, "李四", 20);
  User user6 = new User(6L, "王五", 28);

  userList.add(user1);
  userList.add(user2);
  userList.add(user3);
  userList.add(user4);
  userList.add(user5);
  userList.add(user6);


  //取出名字為張三的用戶
  List<User> filterList = userList.stream().filter(user -> user.getName().equals("張三")).collect(Collectors.toList());
  filterList.stream().forEach(user ->{
   System.out.println(user.getName());
  });

 }

運行結果:

Java8怎樣通過Lambda處理List集合

5、求和:將集合中的數據按照某個屬性求和

public static void main(String[] args) {
  List<User> userList = Lists.newArrayList();//存放user對象集合

  User user1 = new User(1L, "張三", 24);
  User user2 = new User(2L, "李四", 27);
  User user3 = new User(3L, "王五", 21);
  User user4 = new User(4L, "張三", 22);
  User user5 = new User(5L, "李四", 20);
  User user6 = new User(6L, "王五", 28);

  userList.add(user1);
  userList.add(user2);
  userList.add(user3);
  userList.add(user4);
  userList.add(user5);
  userList.add(user6);


  //取出名字為張三的用戶
  int totalAge = userList.stream().mapToInt(User::getAge).sum();
  System.out.println("和:" + totalAge);

 }

運行結果:

Java8怎樣通過Lambda處理List集合

6、從List轉為Map,key與value 一 一對應

public static void main(String[] args) {
  List<User> userList = Lists.newArrayList();

  User user1 = new User(1L, "張三", 24);
  User user2 = new User(2L, "李四", 27);
  User user3 = new User(3L, "王五", 21);
  User user4 = new User(4L, "張三", 22);
  User user5 = new User(5L, "李四", 20);
  User user6 = new User(6L, "王五", 28);

  userList.add(user1);
  userList.add(user2);
  userList.add(user3);
  userList.add(user4);
  userList.add(user5);
  userList.add(user6);

  Map<Long/*Id*/,User> userMap = userList.stream().collect(Collectors.toMap(User::getId, user -> user));
  System.out.println("toMap:" + JSONArray.toJSONString(userMap));

 }

運行結果:

Java8怎樣通過Lambda處理List集合

看完了這篇文章,相信你對“Java8怎樣通過Lambda處理List集合”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蒲江县| 四川省| 抚州市| 大关县| 青河县| 阿克陶县| 宁都县| 济南市| 柳河县| 鄂托克前旗| 包头市| 湟源县| 宁德市| 石景山区| 通城县| 威宁| 哈尔滨市| 泾源县| 友谊县| 江油市| 靖边县| 托克托县| 丰都县| 眉山市| 景谷| 梁河县| 渭源县| 延川县| 思南县| 宁陕县| 柳江县| 荣昌县| 宝山区| 军事| 迭部县| 灌阳县| 咸宁市| 丹江口市| 诸暨市| 和平区| 克拉玛依市|