題目描述:
藉助集合類對輸入的n個字符串按照字典序排序。
輸入格式:
共有若干行,每行一個字符串,最後一行總是"###"。
輸出格式:
按字典序排序好的用空格分隔的一行字符串。
輸入樣例:
bbb
aaa
abab
aaaa
cabc
###
輸出樣例:
aaa aaaa abab bbb cabc
方法一:使用list集合排序,需要用到集合工具類Collections。
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
public class CollectionSort {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
while(!str.equals("###")) {
list.add(str);
str = sc.nextLine();
}
sc.close();
Collections.sort(list);
for(String temp:list) {
System.out.print(temp+" ");
}
}
}
方法二:利用TreeSet集合可排序的特性,調用其自然排序。
import java.util.Scanner;
import java.util.TreeSet;
public class Demo {
public static void main(String[] args) {
TreeSet<String> set = new TreeSet<String>();
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
while(!str.equals("###")) {
set.add(str);
str = sc.nextLine();
}
sc.close();
for(String temp:set) {
System.out.print(temp+" ");
}
}
}