作业帮 > 综合 > 作业

java中有数组a{1,2,3,4}和数组b{3,4,5},现在需要对b数组进行更新同步.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/01 16:44:15
java中有数组a{1,2,3,4}和数组b{3,4,5},现在需要对b数组进行更新同步.
业务规则如下:1、a数组有的数字b数组必须有,没有则添加.2、b数组有的数字,若a数组没有,需要从b数组中删除.3、不能直接把a数组的值直接给b的,需要判断比较.求合适的方法?
按你的要求, 最后b中的元素肯定和a中的元素相同, 但是你又不允许直接把a中的元素赋给b中下面的代码可以实现, 你自己看吧, 有注释
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test {
/**
* @param args
*/
private List<Integer> asList(int[] i) {
List<Integer> list = new ArrayList<Integer>();
for (int t : i) {
list.add(t);
}
return list;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Test t = new Test();
int[] a = { 1, 2, 3, 4};
int[] b = { 3, 4, 5 };
List<Integer> listA = t.asList(a);
List<Integer> listB = t.asList(b);
for (int i : listA) {//遍历a, 对于a中每个元素
if(!listB.contains(i)){//如果b中没有, 添加到b中
listB.add(i);
}
}
for(Iterator<Integer> it = listB.iterator(); it.hasNext();){//遍历b中的每个元素
int i = it.next();
if(!listA.contains(i)){//如果a中没有, 从b中删除
it.remove();
}
}

System.out.println("a : " + listA);
System.out.println("b : " + listB);
}
}