Java list集合有两条实体类数据,将list集合两条数据相同的字段拼接成Map类型,map的key为相同字段名,value为集合,集合里面是两个相同字段的值
时间: 2024-03-15 21:46:17 浏览: 116
可以通过遍历list集合,将相同字段的值拼接成Map类型。假设有一个实体类为`Entity`,其中包含字段`field1`和`field2`,代码如下:
```java
public class Entity {
private String field1;
private String field2;
// getter和setter方法省略
}
```
可以定义一个方法,将list集合中相同字段的值拼接成Map类型,代码如下:
```java
public Map<String, List<String>> concatList(List<Entity> list) {
Map<String, List<String>> map = new HashMap<>();
for (Entity entity : list) {
String field1 = entity.getField1();
String field2 = entity.getField2();
String key = field1 + "-" + field2; // 以field1和field2组合作为key
List<String> value = map.getOrDefault(key, new ArrayList<>());
value.add(field1 + "," + field2); // 将field1和field2拼接后作为value中的元素
map.put(key, value);
}
return map;
}
```
调用该方法,可以将list集合中相同字段的值拼接成Map类型。例如,有一个list集合包含两个数据,分别为`Entity("a", "b")`和`Entity("a", "c")`,那么调用`concatList(list)`方法后,返回的Map类型为`{"a-b": ["a,b"], "a-c": ["a,c"]}`。
阅读全文
相关推荐


















