Java List<Map>类型的数据,给每一行都赋值key=name value=1,使用lambda
时间: 2024-09-12 10:17:30 浏览: 19
在Java中,如果你想要创建一个`List<Map<String, Integer>>`类型的数据,并且为每一个`Map`中的键值对都赋予相同的`key=name`和`value=1`,你可以使用Java 8引入的lambda表达式来简化操作。以下是一个示例代码:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
// 假设我们需要5行数据,你可以使用IntStream生成一个范围
List<Map<String, Integer>> list = IntStream.range(0, 5)
.mapToObj(i -> {
// 创建一个新的Map实例
Map<String, Integer> map = new HashMap<>();
// 使用lambda表达式给Map中的键值对赋值
map.put("name", 1);
return map;
})
.collect(Collectors.toList()); // 收集结果到List中
// 输出结果以验证
list.forEach(System.out::println);
}
}
```
在这段代码中,`IntStream.range(0, 5)`生成了一个从0到4的整数流,每个整数通过`mapToObj`方法映射成一个`Map`对象。在映射过程中,使用lambda表达式`i -> { ... }`创建一个新的`HashMap`实例,并通过`map.put("name", 1);`将键值对添加到`Map`中。最后,使用`collect(Collectors.toList())`将流中的所有`Map`对象收集到一个`List`中。