Java HashMap使用自定义lambda比较器排序

时间:2016-07-06 17:22:33

标签: java sorting lambda hashmap comparator

所以我有一个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上的源代码。代码片段位于Analyzer类中,位于biConvert()方法下。

1 个答案:

答案 0 :(得分:0)

将排序结果分配到同一个地图