2013-12-15 37 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)。