2015-02-08 16 views
0

假设我有浮阵列的一个链表,如何按每个数组中的第一个索引对Float数组的LinkedList进行排序?

LinkedList<Float[]> foo = new LinkedList<Float[]>(); foo.add(new Float[] {2.3, 2.4}); foo.add(new Float[] {1.0, 3.2}); foo.add(new Float[] {1.5, 3.5});

我想通过在每个节点(2.3,1.0和1.5),每个浮阵列的第一个元素到这个链表排序。

对于此示例,排序后,第一个节点将包含数组{1.0, 3.2},下一个将包含数组{1.5, 3.5},最后一个节点将包含{2.3, 2.4}

+0

创建一个[Comparator](http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html),它带有两个这样的浮点数组,并根据第一项进行比较。然后将您的LinkedList与比较器传递给[Collections.sort()](http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html#sort(java.util.List, %20java.util.Comparator)) – alfasin 2015-02-08 04:15:32

回答

0

使用自定义Comparator<Float[]>比较第一个元素。类似于(a,b)->Float.compare(a[0],b[0])。您可以使用Collections.sort(List<Float[]>,Comparator<Float>)对数组进行排序。

+0

比较应该是比较器。 – immibis 2015-02-08 04:16:57

+0

哎呦......好的固定 – 2015-02-08 04:18:53

+0

你可能想要一个'Float []'那里。 – 2015-02-08 23:20:56

相关问题