gpt4 book ai didi

java - 合并两个ArrayList

转载 作者:行者123 更新时间:2023-12-01 07:51:20 30 4
gpt4 key购买 nike

我有两个ArrayList

  1. ArrayList<Integer> data = new ArrayList<Integer>();
  2. ArrayList<Integer> temp = new ArrayList<Integer>();

在第一个数组中,我有 1-60 之间的条目(某些数字丢失)。第二个数组中是那些缺失的数字。

我想打印所有条目,例如......

存在的内容将显示为 1 --- Y

那些缺失的会出现如 12 --- N

这是我的代码:

writer=new PrintWriter(new FileWriter(file,true));
for(int i=1;i<60;i++){
for(int missing:temp){
if(missing==i){
writer.println(i+" +++++++++++++++++ N");
}
else{
writer.println(i+" --- Y");
}
}
}

但我的输出是这样的:

1 --- Y

1 --- Y

2 --- Y

2 --- Yand so on.....

最佳答案

你的问题似乎有点令人困惑......但你可能想要这个:

for (int actual = 1; actual <= 60; actual ++) {
// number present in DATA list
if (data.contains(actual)) {
writer.println(actual + " --- Y");
// number present in TEMP list
} else if (temp.contains(actual)) {
writer.println(actual + " --- N");
// number not present in ANY list
} else {
writer.println(actual + " -------");
}
}
<小时/>

输出:

1   ---   Y
2 --- Y
3 --- N
4 --- Y
5 --- Y
6 --- Y
7 --- N
8 --- N
9 -------
10 -------
11 -------

等等...

<小时/>

添加:

记住关闭编写器:

writer.close();

在使用FileWritter的方式中,内容将附加在文件末尾,在构造函数中使用false:

PrintWriter writer = new PrintWriter(new FileWriter(file, false));
<小时/>

测试一下!

public class Q37024973 {
public static void main(String[] args) throws Exception {
ArrayList<Integer> data = new ArrayList<Integer>();
data.add(1);
data.add(2);
data.add(4);
data.add(5);
data.add(6);
ArrayList<Integer> temp = new ArrayList<Integer>();
temp.add(3);
temp.add(7);
temp.add(8);

File file = new File("C:\\tmp\\Q37024973.txt");

PrintWriter writer = new PrintWriter(new FileWriter(file, true));

for (int actual = 1; actual <= 60; actual ++) {
if (data.contains(actual)) {
writer.println(actual + " --- Y");
} else if (temp.contains(actual)) {
writer.println(actual + " --- N");
} else {
writer.println(actual + " -------");
}
}

writer.close();
}
}

关于java - 合并两个ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37024973/

30 4 0