题目描述:
借助集合类对输入的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+" ");
}
}
}