WUSTOJ 1246: 字符串排序(Java)

1246: 字符串排序

题目

  输入n(n<100)个字符串,每个字符串长度不超过1000,将他们按字典顺序输出。更过内容点击标题。

分析

  Java中的ArrayList()可以比较方便的实现这一操作。
  需要注意的点是:每组数据输出完之后要clear()清空)元素。Emmm我第一次就是忘记加这一句了,结果超时。

代码

  以下只是解决方法之一,优点是代码简短。

/**
 * time 725ms
 * @author wowpH
 * @version A2.0
 * @date 2019-05-10 上午12:41:35
 * Environment:	Windows 10
 * IDE Version:	Eclipse 2019-3
 * JDK Version:	JDK1.8.0_112
 */

import java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(new BufferedInputStream(System.in));
		int n; // 字符串个数
		// 实例化一个ArrayList<String>对象,大小为100
		List<String> list = new ArrayList<String>(100);
		String s; // 接收每行的字符串
		while(sc.hasNext()) {
			n = sc.nextInt();
			for (int i = 0; i < n; i++) {
				s = sc.next();
				list.add(s);
			}
			// 字典序排序
			Collections.sort(list);
			for (String string : list) {
				System.out.println(string);
			}
			// 清空对象中的元素。我就是忘了这一句,结果超时
			list.clear();
		}
		sc.close();
	}
}
原文地址:https://www.cnblogs.com/wowpH/p/11060793.html