31

ランダムStringに入れられるsがあります。ArrayList

private ArrayList<String> teamsName = new ArrayList<String>();
String[] helper; 

例えば:

teamsName.add(helper[0]) where helper[0] = "dragon";   
teamsName.add(helper[1]) where helper[1] = "zebra";   
teamsName.add(helper[2]) where helper[2] = "tigers" // and so forth up to about 150 strings.

入力を制御できないという事実(つまり、ArrayListに入力される文字列はランダムです。ゼブラまたはドラゴンは任意の順序です)を考えると、ArrayListに入力が入力されたら、最初の入力を除いてアルファベット順に並べ替えるにはどうすればよいですか?

teamsName[0]結構です; teamsName[1 to teamsName.size]アルファベット順に並べ替えます。

4

5 に答える 5

37
Collections.sort(teamsName.subList(1, teamsName.size()));

上記のコードは、ソートされた元のリストの実際のサブリストを反映します。

于 2012-10-24T09:40:23.027 に答える
11

方法を確認してくださいCollections#sort。これにより、自然順序に従ってリストが自動的に並べ替えられます。メソッドを使用して取得する各サブリストにこのメソッドを適用できますList#subList

private List<String> teamsName = new ArrayList<String>();
List<String> subList = teamsName.subList(1, teamsName.size());
Collections.sort(subList);
于 2012-10-24T09:40:16.857 に答える
6

を見てくださいCollections.sort(List<T> list)

最初の要素を削除し、リストを並べ替えてから、再度追加するだけです。

于 2012-10-24T09:39:43.957 に答える
5

helper[]配列を直接並べ替えることができます。

java.util.Arrays.sort(helper, 1, helper.length);

配列をインデックス1から最後までソートします。インデックス0の最初のアイテムはそのままにします。

Arrays.sort(Object [] a、int fromIndex、int toIndex)を参照してください

于 2012-10-24T09:41:22.537 に答える
2

TreeSetリストの値を自動的に並べ替えることができます。

import java.util.Iterator;
import java.util.TreeSet;

public class TreeSetExample {

    public static void main(String[] args) {
        System.out.println("Tree Set Example!\n");

        TreeSet <String>tree = new TreeSet<String>();
        tree.add("aaa");
        tree.add("acbbb");
        tree.add("aab");
        tree.add("c");
        tree.add("a");

        Iterator iterator;
        iterator = tree.iterator();

        System.out.print("Tree set data: ");

        //Displaying the Tree set data
        while (iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
    }

}

最後に「a」を追加しますが、最後の要素は「c」でなければなりません。

于 2012-10-24T09:57:34.563 に答える