java list分段处理
java stream
    在Java中,我们经常需要对一个List进行分段处理。这个分段的处理可以是将List分成多个小的List,也可以是将List中的元素按照一定的规则分成若干组。
    一种常见的分段处理是将List分成多个小的List,每个小的List中包含一定数量的元素。这个处理可以使用Java的subList方法实现。例如,我们有一个长度为10的List,我们希望将它分成长度为3的小的List,可以使用以下代码:
    List<Integer> list = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
    list.add(i);
    }
    int size = list.size();
    int segmentSize = 3;
    List<List<Integer>> segments = new ArrayList<>();
    for (int i = 0; i < size; i += segmentSize) {
    int end = Math.min(size, i + segmentSize);
    segments.add(list.subList(i, end));
    }
    这里,我们首先创建了一个长度为10的List,并填充了一些整数。然后,我们定义了分段的大小segmentSize为3,然后通过循环将List分成了若干个长度为3的小的List,并存储在segments变量中。
    另一种分段处理是将List中的元素按照一定的规则分成若干组。例如,我们有一个List,其中包含一些字符串,我们希望将这些字符串按照首字母分成若干组。可以使用Java的Stream API来实现。代码如下:
    List<String> list = Arrays.asList('apple', 'banana', 'cat', 'dog', 'elephant', 'fish');
    Map<Character, List<String>> groups = list.stream()
    .upingBy(s -> s.charAt(0)));
    这里,我们首先定义了一个包含一些字符串的List。然后,我们使用Stream API中的groupingBy方法按照字符串的首字母分组,并将结果存储在一个Map中,其中Map的键为首字母,值为这个首字母开头的字符串列表。