【发布时间】:2015-01-02 22:19:10
【问题描述】:
我目前有一个字符串 id 的有序列表 (List<String>) 和一个自定义类的无序列表 (List<CustomClass>)。我想根据 IDS 的有序列表对自定义类对象的列表进行排序。
我的印象是最好的方法是使用 TreeMap。所以我实现了这个:
Map<String, CustomClass> mapB = new HashMap<String, CustomClass>();
for (String id : mIds) {
for (CustomClass customClass : mCustomClass) {
mapB.put(thingId, mCustomClass);
}
}
Map<String, CustomClass> treeMap = new TreeMap<String, CustomClass>();
treeMap.putAll(mapB);
虽然它可以很好地存储所有 id,但是当我打印出 TreeMap 时,它似乎只需要 mapB 的最后一个值并存储它。 IE。日志示例:
地图:1:巴黎,地图:2:巴黎,地图:3:巴黎
但我补充的是:
mapB.put("1", London);
mapB.put("2", Berlin);
mapB.put("3", Paris);
所以是的,我对正在发生的事情有点困惑,有人可以提供一些指导吗?谢谢!
【问题讨论】:
-
List
中的字符串是否存在于 CustomClass 中? -
这个id是从这个类的模型中访问的,但它没有被存储为局部变量或任何东西。
-
请提供 List
和 List 中存在的任何项目之间的关系以及 CustomeClass 的实现。如果 CustomClass 中的任何字段对应于 List
标签: java android list map treemap