菜鸟求高手指导 本帖最后由 zhang87306896 于 2012-10-28 20:04:55 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的代码中这儿有点问题,没有考虑泛型:List list=new ArrayList(); 应该改成,List <String> list=new ArrayList<String>();这样写不会输出输出排序后字符串的结果,但是并不会输出排序后的结果,你调用排序方法, 你没有实现排序方法, import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Random;/** * 读取TXT文件里的十万行字符串,按照字典ABCD的顺序排序,然后输出排序后结果。 * * 要求速度越快越好,按照速度给分。 */public class Demo5 { public static void main(String[] args) throws Exception { String fileName = "./text.txt";// 定义一个文件路径 writer(fileName, 100000);// 往文件中写10W条字符串 List<String> list = reader(fileName);// 将文件中的所有字符串读取到List中 long start = System.currentTimeMillis();// 排序开始时间 Collections.sort(list);// 对List集合中的字符串排序 long end = System.currentTimeMillis();// 排序结束时间 System.out.println("排序用时:" + (end - start) + "毫秒"); } /** * 获取一定长度的随机字符串 * * @param len * 字符串长度 * @return 返回字符串 */ public static String getStr(int len) { Random r = new Random(); StringBuffer buf = new StringBuffer(); for (int i = 0; i < len; i++) {// 获取len长度的随机字符串 buf.append((char) (r.nextInt(26) + 'A')); } return buf.toString(); } /** * 给定一个文件名和写入的行数,将随机字符串写入到文件中 * * @param fileName * 文件名 * @param len * 写入的行数 */ public static void writer(String fileName, int len) { PrintWriter out = null; try { out = new PrintWriter(fileName); } catch (FileNotFoundException e) { e.printStackTrace(); } for (int i = 0; i < len; i++) { out.println(getStr(30));// 将随机字符串写入文件中 } out.close(); } /** * 将给定的文件读入集合中,每一行一条记录 * * @param fileName * 文件名 * @return 字符串集合 */ public static List<String> reader(String fileName) { List<String> list = new ArrayList<String>(); BufferedReader read = null; try { read = new BufferedReader(new InputStreamReader( new FileInputStream(fileName))); String temp = null; while ((temp = read.readLine()) != null) { list.add(temp);// 将文件中的字符串读取到list中 } read.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return list; }}排序用时:119毫秒 ssh数据库连接问题 interface入门的一个小问题 学awt时一个测试程序编译过不了啊 懂JDOM和XML的进来看一下 java 源代码加密的问题 Applet打开网页的问题? 关于Visual J编译环境的一点问题 觅Java Beans轻量级开发工具? 关于JBuilder3.0和Vj++6.0如何打开一个Java源文件的简单问题?积极给分,请热心者帮忙! 我的代码点了运行怎么没反应?关于计算字符的。 JAVA多线程对多CPU java串口通讯,经过GPRS,总是不返回数据怎么回事?
List list=new ArrayList(); 应该改成,List <String> list=new ArrayList<String>();
这样写不会输出输出排序后字符串的结果,但是并不会输出排序后的结果,你调用排序方法, 你没有实现排序方法,
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;/**
* 读取TXT文件里的十万行字符串,按照字典ABCD的顺序排序,然后输出排序后结果。
*
* 要求速度越快越好,按照速度给分。
*/
public class Demo5 { public static void main(String[] args) throws Exception {
String fileName = "./text.txt";// 定义一个文件路径
writer(fileName, 100000);// 往文件中写10W条字符串
List<String> list = reader(fileName);// 将文件中的所有字符串读取到List中
long start = System.currentTimeMillis();// 排序开始时间
Collections.sort(list);// 对List集合中的字符串排序
long end = System.currentTimeMillis();// 排序结束时间
System.out.println("排序用时:" + (end - start) + "毫秒");
} /**
* 获取一定长度的随机字符串
*
* @param len
* 字符串长度
* @return 返回字符串
*/
public static String getStr(int len) {
Random r = new Random();
StringBuffer buf = new StringBuffer();
for (int i = 0; i < len; i++) {// 获取len长度的随机字符串
buf.append((char) (r.nextInt(26) + 'A'));
}
return buf.toString();
} /**
* 给定一个文件名和写入的行数,将随机字符串写入到文件中
*
* @param fileName
* 文件名
* @param len
* 写入的行数
*/
public static void writer(String fileName, int len) {
PrintWriter out = null;
try {
out = new PrintWriter(fileName);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
for (int i = 0; i < len; i++) {
out.println(getStr(30));// 将随机字符串写入文件中
}
out.close();
} /**
* 将给定的文件读入集合中,每一行一条记录
*
* @param fileName
* 文件名
* @return 字符串集合
*/
public static List<String> reader(String fileName) {
List<String> list = new ArrayList<String>();
BufferedReader read = null;
try {
read = new BufferedReader(new InputStreamReader(
new FileInputStream(fileName)));
String temp = null;
while ((temp = read.readLine()) != null) {
list.add(temp);// 将文件中的字符串读取到list中
}
read.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return list;
}
}
排序用时:119毫秒