Подтвердить что ты не робот

Как я могу отсортировать ArrayList строк в Java?

У меня String, которые помещаются в 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, является случайной, зебра или дракон в любом порядке), как только ArrayListis заполняется входом, как я сортирую их в алфавитном порядке, исключая первый?

teamsName[0] отлично; Сортировка teamsName[1 to teamsName.size] в алфавитном порядке.

4b9b3361

Ответ 1

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

В приведенном выше коде будет отображаться фактический подсписок вашего исходного списка.

Ответ 2

Проверьте Collections#sort метод. Это автоматически сортирует ваш список в соответствии с естественным заказом. Вы можете применить этот метод для каждого получателя, который вы получаете, используя метод List#subList.

private List<String> teamsName = new ArrayList<String>();
List<String> subList = teamsName.subList(1, teamsName.size());
Collections.sort(subList);

Ответ 3

Вы можете отсортировать массив helper[] напрямую:

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

Сортирует массив из индекса 1 в конец. Оставляет первый элемент с индексом 0 нетронутым.

См. Arrays.sort(Object [] a, int fromIndex, int toIndex)

Ответ 4

Взгляните на Collections.sort(List<T> list).

Вы можете просто удалить первый элемент, отсортировать список и затем снова добавить его.

Ответ 5

Вы можете использовать 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'.