要給一個List按照某個規則進行分組,可以使用Java Stream API中的Collectors.groupingBy()方法。這個方法可以根據指定的規則對List中的元素進行分組,返回一個Map對象,其中鍵為分組標準,值為屬于該分組的元素列表。
以下是一個簡單的例子,假設有一個List包含一組整數,我們想按照奇偶性進行分組:
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
Map<String, List<Integer>> groupedNumbers = numbers.stream()
.collect(Collectors.groupingBy(number -> number % 2 == 0 ? "Even" : "Odd"));
System.out.println(groupedNumbers);
}
}
在上面的例子中,我們使用了Stream API中的collect()方法和groupingBy()方法,根據元素的奇偶性進行分組,并將結果存儲在一個Map對象中。輸出結果如下:
{Even=[2, 4, 6, 8], Odd=[1, 3, 5, 7, 9]}
根據具體的需求,可以根據不同的規則對List進行分組,并對結果進行進一步處理。