我试图从文件中读取,然后首先打印偶数元素,然后打印奇数行。最好读取这些行并将它们存储在偶数列表中和奇数列表中,然后打印每个列表吗?或者有更有效的方法来解决这个问题吗?
下面的代码片段是我进行排序的方法...到目前为止,它只是将输入存储到列表中并打印它们。有没有一种有效的方法来打印偶数行单词,然后打印奇数行?
public static void test(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++;
}
Iterator<String> i = s.iterator();
while (i.hasNext()) {
w.println(i.next());
}
}
提前感谢您的任何帮助/意见!
最佳答案
嗯,最好的办法是在阅读时打印偶数行,并存储奇数行以供以后打印。
ArrayList<String> s = new ArrayList<String>();
String line;
int n = 0;
while ((line = r.readLine()) != null) {
if(n % 2 == 0){
s.add(line);
}
else{
w.println(line);
}
n++;
}
Iterator<String> i = s.iterator();
while (i.hasNext()) {
w.println(i.next());
}
这将需要的空间量减少一半。另一种选择可能是将奇数行打印到字符串,然后将该值打印到输出流 - 对于较短的输入可能更有效
关于java - 从文件中打印偶数行和奇数行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18940268/