这是我到目前为止写的代码。但是某种程度上,Arraylist的大小也在增加。
ArrayList<Integer> a = new ArrayList<>(Arrays.asList(1,2,3,4));
ArrayList<Integer> b = new ArrayList<>(Arrays.asList(1,3,2,4));
ArrayList<Integer> c = new ArrayList<>(Arrays.asList(4,2,3,1));
for(int i = 0; i < a.size(); i++){
if(!a.get(i).equals(b.get(i))){
if(!b.get(i).equals(c.get(i))){
b.add(a.get(i), b.get(i));
c.add(a.get(i), c.get(i));
}
}
}
我希望数组列表'b'和'c'与'a'Arraylist中的元素顺序同步,以便在所有情况下输出
我必须承认,我不知道这是什么目的,但它给出了预期的结果。如果您需要其他/其他功能,请澄清您的问题。
public static void main(String[] args) {
ArrayList<Integer> a = new ArrayList<>(Arrays.asList(1, 2, 3, 4));
ArrayList<Integer> b = new ArrayList<>(Arrays.asList(1, 3, 2, 4));
ArrayList<Integer> c = new ArrayList<>(Arrays.asList(4, 2, 3, 1));
for (int i = 0; i < a.size(); i++) {
if (!a.get(i).equals(b.get(i))) {
b.set(i, a.get(i));
}
if (!a.get(i).equals(c.get(i))) {
c.set(i, a.get(i));
}
}
System.err.println(Arrays.toString(b.toArray()));
System.err.println(Arrays.toString(c.toArray()));
}
输出:
[1, 2, 3, 4]
[1, 2, 3, 4]
确保您可以在一个步骤中比较两个列表,如果一个人不等,则可以将两个列表进行设置 - 但是,如果仅需要调整b并且C不了解C,则C也会更改(不会受到伤害):
public static void main(String[] args) {
ArrayList<Integer> a = new ArrayList<>(Arrays.asList(1, 2, 3, 4));
ArrayList<Integer> b = new ArrayList<>(Arrays.asList(1, 3, 2, 4));
ArrayList<Integer> c = new ArrayList<>(Arrays.asList(4, 2, 3, 1));
for (int i = 0; i < a.size(); i++) {
if ((!a.get(i).equals(b.get(i))) || (!a.get(i).equals(c.get(i)))) {
b.set(i, a.get(i));
c.set(i, a.get(i));
}
}
System.err.println(Arrays.toString(b.toArray()));
System.err.println(Arrays.toString(c.toArray()));
}