要给一个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进行分组,并对结果进行进一步处理。