String
にランダムに配置されるArrayList
sがあります。
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]
アルファベット順。
Collections.sort(teamsName.subList(1, teamsName.size()));
上記のコードは、ソートされた元のリストの実際のサブリストを反映します。
Collections#sort
メソッドを確認してください。これにより、自然な順序に従ってリストが自動的にソートされます。 List#subList
メソッドを使用して、取得した各サブリストにこのメソッドを適用できます。
private List<String> teamsName = new ArrayList<String>();
List<String> subList = teamsName.subList(1, teamsName.size());
Collections.sort(subList);
Collections.sort(List<T> list)
を見てください。
最初の要素を削除し、リストを並べ替えてから再度追加するだけです。
helper[]
配列を直接:
Java.util.Arrays.sort(helper, 1, helper.length);
配列をインデックス1から最後まで並べ替えます。インデックス0の最初のアイテムをそのままにします。
Arrays.sort(Object [] a、int fromIndex、int toIndex) を参照してください
リスト値を自動的に順序付ける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」でなければなりません。