1. 引言
在Java中,集合是開發中常用的數據結構,用於存儲一組對象。當我們需要在集合中過濾或者搜索數據時,可以使用Java Stream API來處理集合中的數據。這篇文章將介紹如何使用Java Stream API來過濾List。
2. Stream API 簡介
Java Stream API提供了一種高級的、面向函數式編程的方式來處理數據。Stream API中的元素是指Java對象,可以對元素進行過濾、映射、排序、聚合等處理操作。
Stream API本身並不存儲數據,而是通過管道將數據傳輸到不同的操作中,並將操作的結果傳遞到下一個操作。Stream API的設計思想是:儘可能地避免遍曆數據,採用流水線的方式操作數據,並且保證操作的順序。
3. Stream API 過濾List
3.1 Stream.filter()
使用Stream.filter()方法過濾List,這個方法會返回一個新的Stream,其中包含原有Stream中滿足過濾條件的元素。
List<String> list = Arrays.asList("apple", "banana", "orange", "pear", "grape"); List<String> result = list.stream().filter(str -> str.length() > 5).collect(Collectors.toList()); System.out.println(result);
輸出結果為:
[orange, grape]
在上述例子中,我們創建了一個字元串類型的List,使用Stream.filter()方法過濾出長度大於5的字元串並返回一個新的List。
3.2 Stream.distinct()
使用Stream.distinct()方法過濾List,這個方法會返回一個新的Stream,其中包含原有Stream中去重後的元素。
List<String> list = Arrays.asList("apple", "banana", "apple", "orange", "pear", "banana", "grape"); List<String> result = list.stream().distinct().collect(Collectors.toList()); System.out.println(result);
輸出結果為:
[apple, banana, orange, pear, grape]
在上述例子中,我們創建了一個字元串類型的List,使用Stream.distinct()方法對List進行去重並返回一個新的List。
3.3 Stream.sorted()
使用Stream.sorted()方法過濾List,這個方法會返回一個新的Stream,其中包含原有Stream中排序後的元素。
List<Integer> list = Arrays.asList(10, 2, 3, 7, 5, 4, 9, 1, 8, 6); List<Integer> result = list.stream().sorted().collect(Collectors.toList()); System.out.println(result);
輸出結果為:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
在上述例子中,我們創建了一個整型類型的List,使用Stream.sorted()方法對List進行排序並返回一個新的List。
4. 總結
本文介紹了如何使用Java Stream API來過濾List。我們可以使用Stream.filter()方法過濾List,Stream.distinct()方法去重List,Stream.sorted()方法對List進行排序等操作。Stream API的設計使得我們可以通過流水線的方式操作數據,並且保證操作的順序,是一種高級的、面向函數式編程的方式來處理數據。
原創文章,作者:IOGC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/139927.html