895669 2025-05-06 16:33:07

Java stream流分组

java java
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class Stream {
  public static void main(String[] args) {


    List<Integer> numbers = Arrays.asList(5, 2, 1, 4, 3);

    // 计算数组的累加和
    int sum = numbers.stream().reduce(0, Integer::sum); // 初始值为 0,累加每个元素
    System.out.println(sum); // 输出: 15
    //  排序
    List<Integer> sorted = numbers.stream().sorted().collect(Collectors.toList());

    System.out.println(sorted); // 输出: [1, 2, 3, 4, 5]

    List<String> names = Arrays.asList("Bob", "Alice", "Charlie", "David", "Anna");

    // 根据名字的首字母分组
    Map<Character, List<String>> groupedByFirstLetter = names.stream()
      .collect(Collectors.groupingBy(name -> name.charAt(0)));

    System.out.println(groupedByFirstLetter); // 输出:{A=[Alice, Anna], B=[Bob], C=[Charlie], D=[David]}
  }
}

评论

Главная - Вики-сайт
Copyright © 2011-2025 iteam. Current version is 2.143.0. UTC+08:00, 2025-05-16 20:44
浙ICP备14020137号-1 $Гость$