Java中, 有一个集合中有id和其他另外三个集合中对应的id怎么把这三个集合中的数据封装到集合中
时间: 2024-01-21 09:17:10 浏览: 154
可以使用Java中的Map来封装数据。具体实现可以按照以下步骤进行:
1. 定义一个Map,key为id,value为一个封装了三个集合数据的对象。
2. 遍历每一个集合,将其中的数据封装到上述定义的Map中。
代码示例如下:
```
//定义一个Map,key为id,value为封装了三个集合数据的对象
Map<String, List<Object>> map = new HashMap<>();
//遍历第一个集合,并将其中的数据封装到Map中
for (Object obj : list1) {
String id = obj.getId(); //获取id
List<Object> dataList = map.get(id); //获取该id对应的value
if (dataList == null) { //如果该id还没有对应的value,则创建一个新的List
dataList = new ArrayList<>();
}
dataList.add(obj); //将当前对象添加到List中
map.put(id, dataList); //将List作为value放入Map中
}
//遍历第二个集合,并将其中的数据封装到Map中
for (Object obj : list2) {
String id = obj.getId(); //获取id
List<Object> dataList = map.get(id); //获取该id对应的value
if (dataList == null) { //如果该id还没有对应的value,则创建一个新的List
dataList = new ArrayList<>();
}
dataList.add(obj); //将当前对象添加到List中
map.put(id, dataList); //将List作为value放入Map中
}
//遍历第三个集合,并将其中的数据封装到Map中
for (Object obj : list3) {
String id = obj.getId(); //获取id
List<Object> dataList = map.get(id); //获取该id对应的value
if (dataList == null) { //如果该id还没有对应的value,则创建一个新的List
dataList = new ArrayList<>();
}
dataList.add(obj); //将当前对象添加到List中
map.put(id, dataList); //将List作为value放入Map中
}
```
上述代码中,假设每个对象都有一个getId()方法,可以获取到其对应的id。通过遍历每一个集合,将每个对象的id作为key,将其余数据封装成一个List作为value,添加到Map中。如果该id在Map中还没有对应的value,则需要先创建一个新的List。最终,Map中的数据就可以满足需求,可以根据id快速获取到对应的三个集合中的数据。
阅读全文