2013-12-15 2 views
2

Что это самый простой способ разобраться в этом ArrayList без каких-либо сложных методов, связанных:Что это самый простой способ для сортировки ArrayList строк

ArrayList<String> myList = new ArrayList<String>(); 
myList.add("1"); 
myList.add("2"); 
myList.add("3"); 
myList.add("4"); 

Я хотел бы альтернативу Comparator способ сделать это, как усложняет ситуацию.

Хочет, чтобы отсортировать список в порядке возрастания строк, как показано ниже:

игнорировать тот факт, что у меня есть письма, содержащиеся в строке, просто предположим, у меня есть только номера: Я хочу MyList распечатать следующее, если оно сортируется в порядке возрастания:

Итак, если у меня есть следующие элементы в моем списке: [1, 2, 3, 4, 12, 100, 40, 50] (как я их положил)

Я получаю выход как [1, 100, 12, 2, 3, 4, 40, 50] после использования Collections.sort(myList)

Это не то, что я хочу, я хочу выход быть в порядке номеров, таких как [1,2,3,4,12,40,50,100] в пределах от наименьшего до наибольшего

+3

Это зависит от того, как вы хотите отсортировать свой список. 'Collections.sort (myList)' сортирует ваш список в соответствии с естественным упорядочением его элементов. В противном случае вам придется предоставить собственный компаратор. –

+0

Спасибо, что добавил, что только что сделал edit –

+0

Восходящий, согласно заказу? Возможно, длина слов? – Pshemo

ответ

2

Вы можете использовать Collections.sort(List<T> list) для этого:

Collections.sort(myList); 

отрывок из Javadoc:

Сортирует указанный список в порядке возрастания, в соответствии с Натур упорядочение его элементов. Все элементы в списке должны реализовать интерфейс Comparable. Кроме того, все элементы в списке должны быть взаимно сопоставимыми (то есть, e1.compareTo (e2) не должен выдать исключение ClassCastException для любых элементов e1 и e2 в списке).

Смежные вопросы