【发布时间】:2016-11-08 20:38:04
【问题描述】:
所以我有一个LinkedHashMap,它的键是Float[] 数组,值是LinkedList<LinkedList>(嵌套列表)。对于每个键,我尝试按数字顺序对值进行排序,这是通过比较嵌套列表中的浮点值获得的。详情:
// copy of an original hashmap
LinkedHashMap<Float[], LinkedList<LinkedList>> tempMap = new LinkedHashMap<>(attrMap);
然后是比较器:
// i is index of numeric (float) value I want to sort with
Comparator<LinkedList> comp = (a, b)-> ((Float) a.get(i)).compareTo((Float) b.get(i));
tempMap.get(keyObj).sort(comp);
这不会对地图进行排序。我该如何解决?
EDIT2:由于复制实际代码很棘手,这是我在github link 上的源代码。代码 sn-p 位于 Analyzer 类中,位于 biConvert() 方法下。
【问题讨论】:
-
您能否edit 您的问题并发布简短但完整的示例,我们可以将其复制粘贴到我们的机器并重现您的问题(可能通过创建此类示例,您也会找到问题的原因)。
-
您的示例无法编译,例如在
l.append(..)上。请尝试发布不会引入与您的问题无关的错误的代码。 -
抱歉,链接不能只作为无效代码的源代码,尤其是当您想稍后更正链接代码时,这会使您的问题无效。 Stack Overflow 的目的是为未来的用户提供可搜索的存储库,所以如果您的问题不包含足够的信息来重现您的问题本身,那么我担心它在这里是题外话。
-
另外,如果您希望别人花一些时间来帮助您,那么您应该花费类似的时间和精力(或更多)来尽可能简单地帮助您。
标签: java sorting lambda hashmap comparator