lamda获取参数集合去空_Java lambda list转换map时,把多个参数拼接作为key操作
时间: 2024-03-05 18:50:54 浏览: 70
可以使用Java 8的lambda表达式和Stream API来实现将List转换为Map,并将多个参数拼接作为key的操作。具体实现步骤如下:
1.定义一个包含多个参数的对象类型,例如:
```
class MultiKey {
private String param1;
private String param2;
// 其他参数...
public MultiKey(String param1, String param2) {
this.param1 = param1;
this.param2 = param2;
}
// 省略getter和setter方法
}
```
2.将List转换为Map,使用lambda表达式和Stream API来实现,例如:
```
List<MultiKey> list = new ArrayList<>();
// 添加元素...
Map<String, Object> map = list.stream()
.collect(Collectors.toMap(
multiKey -> multiKey.getParam1() + "-" + multiKey.getParam2(), // 多个参数拼接作为key
multiKey -> multiKey // 元素作为value
));
```
上述代码中,使用了`Collectors.toMap()`方法来将List转换为Map,其中第一个参数为key的生成函数,使用了多个参数的拼接操作;第二个参数为value的生成函数,直接返回元素本身。
注意:在多个参数拼接时,需要使用某个字符来分隔不同参数,避免出现重复的key。上述代码中使用了连字符`-`作为分隔符,您可以根据实际情况自行选择。
阅读全文