2013-12-15 39 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,45,50](如我放入)

我使用Collections.sort(myList)

后得到输出为[1,100,12,2,3,4,40,50]

这不是我想要的,我想要的输出是在编号顺序,如[1,2,3,4,12,40,50,100]从最小到最大

+3

这取决于你想如何排序你的列表。 'Collections.sort(myList)'将根据元素的自然顺序对列表进行排序。否则,你将不得不提供一个自定义比较器。 –

+0

谢谢忘了补充一点,只是做了编辑 –

+0

按照什么顺序升序?字长可能? – Pshemo

回答

2

可以使用Collections.sort(List<T> list)为:

Collections.sort(myList); 

从的Javadoc的摘录:

对指定列表按升序进行,根据 NATUR它的元素排序。 列表中的所有元素都必须执行Comparable接口 。此外, 列表中的所有元素必须相互可比(即,e1.compareTo(e2)不得为 对列表中的任何元素e1和e2引发ClassCastException)。