2

私はListかなり長いのを持っていStringsます:

test:test:test:test:test:test:test:ABC:test:test:test:test:test:test:  
test:test:test:test:test:test:test:DEF:test:test:test:test:test:test:  
test:test:test:test:test:test:test:GHI:test:test:test:test:test:test:  
test:test:test:test:test:test:test:JKL:test:test:test:test:test:test:  
test:test:test:test:test:test:test:MNO:test:test:test:test:test:test:  

すべてのテストを互いに異なるものと仮定します。大文字が保持されている特定の場所に基づいて、これらの文字列を並べ替えたいと思います。

    for (int i = 0; i < aList.size(); i++) {
        System.out.println(list.get(i).toString().split(":")[7]);
    }
4

1 に答える 1

9

Collections.sort()カスタムを使用して提供しComparator、希望する順序付け基準を課します。

以下に例を示します (省略された null と予期しない形式を確認してください)。

List<String> myList;
Collections.sort(myList, new Comparator<String>(){
    @Override
    public int compare(String o1, String o2) {
        String text1 = o1.split(":")[7];
        String text2 = o2.split(":")[7];
        return text1.compareTo(text2);
    }
}); 
于 2013-04-04T10:35:17.603 に答える