2015-02-08 44 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

相關問題