簡體   English   中英

如何在Java中對字符串的ArrayList進行排序?

[英]How can I sort an ArrayList of Strings in Java?

我有隨機放入ArrayList String

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'。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM