我有一个ArrayList,其中DataType是一个类:
class DataType {
String id;
String dType;
String description;
// setters and getters follow
}
Run Code Online (Sandbox Code Playgroud)
有了给定的ArrayList<Datatype>,我想创建子列表,这样每个子列表都有相同的值dType.即所有DataType具有相同值的对象dType应该位于一个子列表中,依此类推.
此外,所有子列表都将添加到ArrayList<ArrayList<Datatype>>创建的列表中.
有人可以为此建议最合适的方法.
我这样做的方法是创建一个地图:
Map<String, List<DataType>> data;
Run Code Online (Sandbox Code Playgroud)
然后循环遍历原始数组,对于每个值,使用 dType 作为键将它们插入到 Map 中。
for (DataType dt: toSort) {
List<DataType> list = data.get(dt.dType);
if (list == null) {
list = new ArrayList<>();
data.put(dt.dType, list);
}
list.add(dt);
}
Run Code Online (Sandbox Code Playgroud)
现在你已经把它们全部分类好了。
| 归档时间: |
|
| 查看次数: |
1798 次 |
| 最近记录: |