一、List.stream求和
List.stream方法用於將集合轉換成一個流,方便對集合進行操作。其中常用的操作之一就是求和。下面我們來看一個求和的示例:
List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5); int sum = nums.stream().mapToInt(i -> i).sum(); System.out.println(sum); //輸出:15
在上面的代碼中,我們先將List轉換成Stream,然後使用mapToInt方法將Stream轉換成一個IntStream,接着使用sum方法求和,最後輸出結果15。
需要注意的是,當集合為空時,求和結果為0。例如:
List<Integer> nums = new ArrayList<>(); int sum = nums.stream().mapToInt(i -> i).sum(); System.out.println(sum); //輸出:0
二、List.remove方法
在對List進行操作時,經常需要對其中的元素進行刪除。List中提供了remove方法,可以根據元素值或下標來刪除元素。下面是一個根據元素值刪除的示例代碼:
List<String> names = new ArrayList<>(); names.add("Tom"); names.add("Jerry"); names.add("Mike"); System.out.println(names); //輸出:[Tom, Jerry, Mike] names.remove("Jerry"); System.out.println(names); //輸出:[Tom, Mike]
在上面的代碼中,我們先定義了一個字符串類型的List,然後使用add方法添加了一些元素。接着使用remove方法刪除了名為「Jerry」的元素,並輸出結果。
三、List.stream去重
List.stream方法也可以用來去重,非常方便。下面是一個去重的示例代碼:
List<Integer> nums = Arrays.asList(1, 2, 3, 2, 4, 1); List<Integer> distinctNums = nums.stream().distinct().collect(Collectors.toList()); System.out.println(distinctNums); //輸出:[1, 2, 3, 4]
在上面的代碼中,我們先定義了一個整數類型的List,然後使用stream方法獲取Stream實例,接着使用distinct方法進行去重,最後使用collect方法將去重後的結果轉換成一個List對象,並打印輸出。
四、Stream對List排序
我們也可以使用Stream對List進行排序,下面是一個排序示例代碼:
List<String> names = new ArrayList<>(); names.add("Tom"); names.add("Jerry"); names.add("Mike"); List<String> sortedNames = names.stream().sorted().collect(Collectors.toList()); System.out.println(sortedNames); //輸出:[Jerry, Mike, Tom]
在上面的代碼中,我們先定義了一個字符串類型的List,然後使用sorted方法進行排序,最後使用collect方法將排序後的結果轉換成一個List對象,並打印輸出。需要注意的是,sorted方法默認是按照自然序進行排序的。
五、ListStream排序
ListStream也可以進行排序,下面是一個排序示例代碼:
List<Integer> nums = Arrays.asList(1, 3, 2, 4, 5); List<Integer> sortedNums = nums.stream().sorted((a, b) -> b - a).collect(Collectors.toList()); System.out.println(sortedNums); //輸出:[5, 4, 3, 2, 1]
在上面的代碼中,我們先定義了一個整數類型的List,然後使用stream方法獲取Stream實例,接着使用sorted方法進行排序,排序規則為b – a,即逆序排序。最後使用collect方法將排序後的結果轉換成一個List對象,並打印輸出。
六、ListStream過濾
ListStream還可以用來過濾元素,例如我們可以使用filter方法過濾掉集合中的偶數,下面是一個過濾示例代碼:
List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5); List<Integer> filteredNums = nums.stream().filter(i -> i % 2 != 0).collect(Collectors.toList()); System.out.println(filteredNums); //輸出:[1, 3, 5]
在上面的代碼中,我們先定義了一個整數類型的List,然後使用stream方法獲取Stream實例,接着使用filter方法過濾掉集合中的偶數,最後使用collect方法將過濾後的結果轉換成一個List對象,並打印輸出。
七、ListStream是什麼
ListStream是Java8中新增的一個特性,它可以讓我們更加便捷的對List進行操作。與傳統的操作方式相比,使用ListStream能夠更加簡潔,同時還能夠提高程序的可讀性和可維護性。
總的來說,ListStream提供了豐富的操作方式,能夠滿足我們對List元素的絕大部分需求。但需要注意的是,對於大數據量的集合,使用ListStream可能會帶來性能問題,需要結合實際情況進行選擇。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/185470.html