1
我在Java中我找出如何在一个数组或对象项目进行排序这样的数据结构玩耍。我想要一些单词以特定的顺序,我可以使用Bufferedreader HashMap,ArrayList。我想要做的是在任何点读出第一行42后,如果某些行是空的(即,长度为0的字符串),则输出所发生之前的一个42行的行。如何也可以改变这种程序来读取在时间整个输入一个行,然后输出偶数行(从第一行,第0行),然后奇数lines..I张贴,我有这样的代码远。数据结构来分类
public static void doIt(BufferedReader r, PrintWriter w) throws IOException {
ArrayList<String> s= new ArrayList<String>();
String line;
int n = 0;
while ((line = r.readLine()) != null) {
s.add(line);
n++;
}
Collections.sort(s);
Iterator<String> i = s.iterator();
while (i.hasNext()) {
w.println(i.next());
}
}
public static void main(String[] args) {
try {
BufferedReader r;
PrintWriter w;
if (args.length == 0) {
r = new BufferedReader(new InputStreamReader(System.in));
w = new PrintWriter(System.out);
} else if (args.length == 1) {
r = new BufferedReader(new FileReader(args[0]));
w = new PrintWriter(System.out);
} else {
r = new BufferedReader(new FileReader(args[0]));
w = new PrintWriter(new FileWriter(args[1]));
}
long start = System.nanoTime();
doIt(r, w);
w.flush();
long stop = System.nanoTime();
System.out.println("Execution time: " + 10e-9 * (stop-start));
} catch (IOException e) {
System.err.println(e);
System.exit(-1);
}
}