一、什麼是Java List Stream?
Java中的Stream是處理列表(List)數據的機制之一。它是一種用於處理集合數據的高級抽象,可以定義各種管道操作(例如過濾、查找、轉換等)來對集合數據進行操作。
在Java 8 中,對於List,我們可以使用 stream() 方法,將其轉換為 Stream 對象,然後就可以使用該對象上的各種操作了。
例如,下面展示了如何在List中使用過濾器 (filter) 方法。
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class ListStreamExample {
public static void main(String[] args) {
List list = Arrays.asList("apple", "banana", "cherry", "durian", "elderberry");
// 過濾出字符串長度大於 5 的元素
List filteredList = list.stream()
.filter(s -> s.length() > 5)
.collect(Collectors.toList());
System.out.println(filteredList); // 輸出:[cherry, elderberry]
}
}
二、Java List Stream的常用操作
1. 過濾 (filter)
過濾器 (filter) 是Stream重要的一個操作,可以通過制定一個條件來過濾集合中不符合條件的對象。
在下面的代碼中,我們使用 filter 操作過濾出字符串長度大於 5 的元素。
public static void main(String[] args) {
List list = Arrays.asList("apple", "banana", "cherry", "durian", "elderberry");
// 過濾出字符串長度大於5的元素
List filteredList = list.stream()
.filter(s -> s.length() > 5)
.collect(Collectors.toList());
System.out.println(filteredList); // 輸出:[cherry, elderberry]
}
2. 轉換 (map)
轉換操作 (map) 可以將一個集合轉換為另一個集合,可以是類型轉換或者屬性轉換。在下面的代碼中,我們將一個 Integer 類型的 List 轉化成一個 Double 類型的 List。
public static void main(String[] args) {
List list = Arrays.asList(1, 2, 3, 4, 5);
// 將Integer List 轉化為 Double List
List doubleList = list.stream()
.map(i -> i * 0.1)
.collect(Collectors.toList());
System.out.println(doubleList); // 輸出:[0.1, 0.2, 0.3, 0.4, 0.5]
}
3. 排序 (sorted)
對於Java的List,排序 (sorted) 是一個非常常見的操作。我們可以使用 sorted 方法對集合進行排序。
public static void main(String[] args) {
List list = Arrays.asList(5, 3, 1, 4, 2);
// 對數字List進行排序
List sortedList = list.stream()
.sorted()
.collect(Collectors.toList());
System.out.println(sortedList); // 輸出:[1, 2, 3, 4, 5]
}
4. 去重 (distinct)
我們在對集合進行操作的時候,常常需要把其中的重複元素去重。distinct 操作就是用於去重的,會保留集合中唯一的元素。
下面的代碼中,我們將一個有重複元素的 List 進行去重操作。
public static void main(String[] args) {
List list = Arrays.asList(1, 2, 2, 3, 3, 3, 4, 4, 4, 4);
// 去重操作
List distinctList = list.stream()
.distinct()
.collect(Collectors.toList());
System.out.println(distinctList); // 輸出:[1, 2, 3, 4]
}
三、總結
Java List Stream 為開發者提供了一種更加直觀的方式對集合進行處理,需要我們熟練使用這些操作方法來提高程序的開發效率。本篇文章介紹了 Java List Stream 的基礎操作,包括過濾 (filter)、轉換 (map)、排序 (sorted)、去重 (distinct) 等方法。希望對Java 開發人員有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/282809.html
微信掃一掃
支付寶掃一掃