java lambda 遍历list
时间: 2024-09-23 13:05:22 浏览: 50
Java 8引入了Lambda表达式,这是一种简洁的语法,用于创建匿名函数,常用于遍历List等集合类型。下面是一个例子,展示如何使用Lambda表达式遍历List:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>(Arrays.asList("Apple", "Banana", "Cherry"));
// 使用Lambda表达式遍历List
list.forEach(item -> System.out.println(item)); // 输出每个元素
// 或者使用传统for-each循环
// for (String item : list) {
// System.out.println(item);
// }
}
}
```
在这个例子中,`forEach`方法接受一个Lambda表达式,这个表达式定义了一个动作(这里是打印字符串),对于列表中的每一个元素都会执行一次。
相关问题
java中lambda遍历list集合(集合中是对象)计算某个字段的和
可以使用 Java 8 中引入的 Stream API 和 lambda 表达式来实现:
假设有以下的对象类型:
```java
class MyObject {
private int value;
public MyObject(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
```
其中,每个 `MyObject` 对象都有一个 `value` 字段。
现在有一个 `List<MyObject>` 集合,我们想要计算其中所有元素的 `value` 字段之和,可以使用以下代码:
```java
List<MyObject> list = new ArrayList<>();
// 添加元素到 list 中 ...
int sum = list.stream().mapToInt(MyObject::getValue).sum();
```
上述代码中,`list.stream()` 将 `List<MyObject>` 转换成 `Stream<MyObject>` 对象,然后使用 `mapToInt` 方法将每个 `MyObject` 对象映射成其 `value` 字段的值,最后使用 `sum` 方法计算这些值的和。
java中lambda遍历list集合(集合中是对象)并去重并统计数量
可以使用Java 8中的Stream API和Lambda表达式来实现。
假设有一个名为`list`的`List`集合,其中包含多个对象,每个对象有一个名为`name`的属性,可以按照以下方式进行去重并统计数量:
```java
Map<String, Long> result = list.stream()
.map(obj -> obj.getName()) // 取出每个对象的name属性
.distinct() // 去重
.collect(Collectors.groupingBy(name -> name, Collectors.counting())); // 统计数量
System.out.println(result);
```
解释一下上述代码:
- `list.stream()`将`List`转换为`Stream`对象。
- `map()`方法将每个对象映射为其`name`属性。
- `distinct()`方法去除重复的`name`。
- `collect()`方法将结果收集到一个`Map`中,其中键为`name`,值为该`name`在原列表中出现的次数。
最后,打印输出`result`即可。
阅读全文
相关推荐
















