<UUID,CustomObject>的Java排序图[重复]
Posted
技术标签:
【中文标题】<UUID,CustomObject>的Java排序图[重复]【英文标题】:Java Sorting Map of <UUID, CustomObject> [duplicate] 【发布时间】:2018-08-15 08:29:28 【问题描述】:所以我希望能够通过与 CustomObject 中的值进行比较,即通过 object.getSomeValue() 进行比较,将此地图排序为 TreeMap 或 LinkedHashmap。
所以在LinkedHashmap中值最高的对象显然会排在第一位
【问题讨论】:
你已经尝试了什么?你自己的研究结果是什么?当其他一切都失败时,*** 应该是最后的手段,这不是编码服务。 欢迎来到 Stack Overflow!请拿起tour,环顾四周,并通读help center,尤其是How do I ask a good question? 和What topics can I ask about here?。从第二个链接:“请求家庭作业帮助的问题必须包括您迄今为止为解决问题所做的工作的摘要,以及您在解决问题时遇到的困难的描述。” 你可以自己写比较器 【参考方案1】:你不能以合理的方式做到这一点,但如果你真的想要它,你可以做的是:
List<EntrySet<UUID, CustomObject>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, (e1, e2) -> /*comparision here*/);
Map<UUID, CustomObject> sortedMap = new LinkedHashMap<>();
for(Entry<UUID, CustomObject> entry: list)
sortedMap.put(entry.getKey(), entry.getValue());
【讨论】:
以上是关于<UUID,CustomObject>的Java排序图[重复]的主要内容,如果未能解决你的问题,请参考以下文章
将 Set<CustomObject> 存储到 UserDefaults
从 JSONArray 转换为 ArrayList<CustomObject> - Android
在数据表中使用 List<CustomObject> 时出现 NumberFormatException