Java Stream的基本使用方法
Java Stream是一种新的数据处理方式,它可以在不改变原有数据的情况下进行各种操作。Java Stream使用了一种惰性求值的方式,只有在需要数据时才进行计算,这样可以减少内存的使用和提高程序的效率。 Java Stream提供了很多方法,下面我们来详细介绍一下这些方法的使用。
List<String> list = Arrays.asList("apple", "", "banana", "cherry", "", "date");
List<String> filteredList = list.stream().filter(item -> !item.isEmpty()).collect(Collectors.toList());
System.out.println(filteredList);
输出:[apple, banana, cherry, date]
List<String> list = Arrays.asList("apple", "banana", "cherry", "date");
List<String> upperList = list.stream().map(String::toUpperCase).collect(Collectors.toList());
System.out.println(upperList);
输出:[APPLE, BANANA, CHERRY, DATE]
List<Integer[]> list = Arrays.asList(new Integer[]{1, 2}, new Integer[]{3, 4}, new Integer[]{5, 6});
List<Integer> flatList = list.stream().flatMap(Arrays::stream).collect(Collectors.toList());
System.out.println(flatList);
输出:[1, 2, 3, 4, 5, 6]
List<String> list = Arrays.asList("apple", "banana", "cherry", "date");
List<String> sortedList = list.stream().sorted().collect(Collectors.toList());
System.out.println(sortedList);
输出:[apple, banana, cherry, date]
List<String> list = Arrays.asList("apple", "banana", "cherry", "date", "apple");
List<String> distinctList = list.stream().distinct().collect(Collectors.toList());
System.out.println(distinctList);
输出:[apple, banana, cherry, date]
List<String> list = Arrays.asList("apple", "banana", "cherry", "date", "elderberry", "fig", "grape");
List<String> pageList = list.stream().skip(2).limit(3).collect(Collectors.toList());
System.out.println(pageList);
输出:[cherry, date, elderberry]
javaCopy codeList<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
int sum = list.stream().reduce(0, Integer::sum);
System.out.println(sum);
输出:15