Java 8新特性:流(Stream)与Lambda表达式使用案例
在Java 8中,引入了新的流(Stream)处理方式以及Lambda表达式,大大提高了代码的简洁性和可读性。以下是一些使用案例:
筛选数组:
List<String> fruits = Arrays.asList("Apple", "Banana", "Orange");
List<String> juicyFruits = fruits.stream()
.filter(fruit -> fruit.contains("juicy"))) //Lambda表达式
.collect(Collectors.toList()));
排序和分组:
```java
MapbookSales = new HashMap<>();
bookSales.put(“Java”, 100);
bookSales.put(“Python”, 50);
bookSales.put(“JavaScript”, 75);
List
.sorted(Map.Entry.
.collect(Collectors.toList()));
for (Map.Entry
System.out.println(“Book: “ + entry.getKey() + “, Sales: “ + entry.getValue());
}
3. **并行计算**:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
// 使用parallelStream进行并行处理
List<List<Integer>>> subLists = numbers.parallelStream()
.collect(Collectors.groupingBy(i -> i / 2), Collectors.toList())) //Lambda表达式
for (List<List<Integer>> sublist : subLists) {
System.out.println("Sublist: " + sublist.size() + ", Elements: ");
for (List<Integer> element : sublist) {
System.out.print("- " + element.stream().mapToObj(Integer::valueOf)).collect(Collectors.joining(", ")) + "\n");
}
}
这些案例展示了Lambda表达式和Stream API在Java 8中的强大应用。
还没有评论,来说两句吧...