2014-03-01 204 views
-1

我想根据列对Arraylist进行排序。如何根据列对数组列表进行排序?

实施例:

输入: -

5.1,3.5,1.4,0.2,Iris-setosa 

4.9,3.0,1.4,0.2,Iris-setosa 

4.7,3.2,1.3,0.2,Iris-setosa 

4.6,3.1,1.5,0.2,Iris-setosa 

5.0,3.6,1.4,0.2,Iris-setosa 

输出: -

对于IST柱对于第二柱

4.6,3.1,1.5,0.2,Iris-setosa 

4.7,3.2,1.3,0.2,Iris-setosa 

4.9,3.0,1.4,0.2,Iris-setosa 

5.0,3.6,1.4,0.2,Iris-setosa 

5.1,3.5,1.4,0.2,Iris-setosa 

4.9,3.0,1.4,0.2,Iris-setosa 

4.6,3.1,1.5,0.2,Iris-setosa 

4.7,3.2,1.3,0.2,Iris-setosa 

5.1,3.5,1.4,0.2,Iris-setosa 

5.0,3.6,1.4,0.2,Iris-setosa 

同样直到倒数第二列

+6

一个ArrayList没有列,只有元素......你能表现出一定的代码? – assylias

+1

它是元素ArrayList的ArrayList吗? –

+0

列的意思是,我们可以用标记器将它分开 – Dahlia

回答

3

您可能必须编写自定义排序。看看ComparableComparator

东西线沿线的:

public class MyComparator implements Comparator<List<MyObject> { 
    int columnToSortOn; 
    public MyComparator(int columnToSortOn) { 
     this.columnToSortOn = columnToSortOn; 
    } 
    @Override 
    public int compare(List<MyObject> list1, List<MyObject> list2) { 
     return list1.get(columnToSortOn).compareTo(list2.get(columnToSortOn)); 
    } 
} 
+1

如果你想给出一个答案,你最好还应该给出一个简短的代码示例来说明如何做到这一点。简单地指向Java文档是不够的。 (不是我认为这个问题应该给予答案) – Dukeling

+0

因此,在正确的方向推动OP,而不是为他们做所有的工作。 = 0p – indivisible

+0

好的,那么。有一个基本的例子并没有把所有东西都带走。 – indivisible

相关问题