亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

巴彦县| 息烽县| 高邮市| 昌平区| 宿迁市| 卓资县| 临洮县| 大悟县| 海安县| 丁青县| 奉新县| 澳门| 新野县| 武乡县| 桑植县| 云和县| 凯里市| 大港区| 桦南县| 社旗县| 南溪县| 岳普湖县| 永和县| 德安县| 泉州市| 綦江县| 金沙县| 黔西县| 开平市| 衡山县| 通化市| 盖州市| 西城区| 梅州市| 桐乡市| 曲沃县| 湖南省| 临夏县| 建瓯市| 西安市| 黎城县|