Java 8新特性Lambda表达式实战示例
Lambda表达式是Java 8引入的一种新的匿名函数表示方式,它使得代码更加简洁高效。
下面是一些Lambda表达式的实战示例:
- 过滤列表:
```java
Listnames = Arrays.asList(“John”, “Anna”, “Mark”);
// 使用Lambda表达式过滤出长度大于5的姓名
names = names.stream()
.filter(name -> name.length() > 5))
.collect(Collectors.toList()));
System.out.println(names); // 输出: [Mark]
2. **映射数据**:
```java
Map<String, Integer> wordCounts = new HashMap<>();
wordCounts.put("Java", 1);
wordCounts.put("Python", 2);
wordCounts.put("C++", 3);
// 使用Lambda表达式计算每个单词的出现次数
Map<String, Integer> updatedWordCounts = wordCounts.entrySet().stream()
.collect(Collectors.toMap(
entry -> entry.getKey(), // 将原键作为新值
value -> value + 1, // 将原值加一作为新值
(oldVal, newVal) -> oldValue, // 如果出现旧值,则返回旧值
Entry::getKey)) // 使用原键名构建新映射
System.out.println(updatedWordCounts); // 输出: {Java=1, Python=2, C++=3}
以上示例展示了Lambda表达式在数据处理和过滤场景中的应用。
还没有评论,来说两句吧...