把一个对象数组根据id相同的进行分组
时间: 2024-02-16 09:04:30 浏览: 57
好的,理解了您的问题。下面是一个示例代码,可以根据您提供的对象数组,对其中的对象按照id相同的规则分组:
```java
public List<List<MyObject>> groupById(List<MyObject> objList) {
Map<Integer, List<MyObject>> map = new HashMap<>();
for (MyObject obj : objList) {
int id = obj.getId();
if (map.containsKey(id)) {
map.get(id).add(obj);
} else {
List<MyObject> list = new ArrayList<>();
list.add(obj);
map.put(id, list);
}
}
return new ArrayList<>(map.values());
}
```
在这段代码中,我们使用了一个HashMap来存储id相同的MyObject对象。遍历对象数组objList,对于每个对象,获取其id值,如果该id在HashMap中已经存在,则将该对象添加到HashMap中对应的值(list)中;如果不存在,则新建一个list,将该对象添加到list中,并将该list作为一个新的值存储在HashMap中。最后,我们将HashMap中的值转化为一个List返回,这个List中的每个元素都是一个id相同的MyObject对象的List。
阅读全文