2017-10-18 191 views
1

嘿所以我想知道什麼是按字母順序重新排序3個不同字符串變量的有效方法?我試圖使用.compareTo()作爲比較它們的一種方式。但是如果將這個轉換回重新排序的字符串列表,我們陷入了困惑和困惑之中。按字母順序重新排序字符串變量

public static void main(String args[]) 
{ 
    String a = "Can", b = "Am", c = "Be", d= " "; 

    int first = a.compareTo(b); 
    int second = a.compareTo(c); 
    int third = b.compareTo(c); 
    int fourth = d.compareTo(d); 
    if (first > 0) 
    { 
     fourth = second; 
     second = first; 
     first = fourth; 
    } 

    System.out.println(first); 
    System.out.println(second); 
    System.out.println(third); 
    System.out.println(fourth); 
} 
+4

是否有任何理由你使用多個變量,而不僅僅是一個數組或列表,它可以很容易地排序? –

+1

將它們全部放在字符串列表中,然後調用'List.sort()'(來自Java 8)或'Collections.sort()' –

回答

2

您可以將它們放到TreeSet中。 TreeSet按字母順序自動爲您訂購。

示例代碼:

String a = "Can", b = "Am", c = "Be", d= " "; 
TreeSet<String> set=new TreeSet<>() 
set.add(a); 
set.add(b); 
set.add(c); 
set.add(d); 
for (String s:set){ 
    System.out.println(s); 
} 
1

一種簡單的方法來做到這一點是將字符串存儲在數組中,然後對其進行排序

String[] array= {"Can", "Am", "Be", " "}; 
Arrays.sort(array); 

for (String string : array) { 
    System.out.println(string); 
} 
1

使用Collections.sort()方法如下

List<String> arr = new ArrayList<>(); 
arr.add("Can"); 
arr.add("Am"); 
arr.add("Be"); 
arr.add(" "); 

System.out.println("Before sort : "+arr); 
Collections.sort(arr); 
System.out.println("After sort : "+arr); 

輸出:

Before sort : [Can, Am, Be, ] 
After sort : [ , Am, Be, Can]