Java 如何高效的比较两个同类型的数组,比如A和B,如果A中的元素在B中不存在,则添加到B中
解决方案 »
- 请问下谁有Thinking in Java 第四版 《并发》那一章的习题答案源码?
- 关于JDBC的问题,劳烦各位朋友指教一下经验
- 初学的问题,请各位帮忙?
- 求SWT开发界面的例子程序
- System.exit(0),System.exit(1),System.exit(2)...里的0、1、2是什么意思呀
- vb程序员想转学java,该怎么办?(高分相送)
- 循环引用是怎么个引用法?垃圾收集的计数法解决不了的问题。
- 谁能说出这个问题的结果????
- 学理科的 一定比 学文科的编程能力强吗?
- 请赐教~~~~~~~~~~~~~~~~~~~~~~!
- 字符串提取 正则表达式
- 谁有java或者C#游戏开发的教程 最好是某个游戏学院的课例和PPT教程
set.addAll(Arrays.asList(array2));
System.out.println(set);
然后判断 containskey
String[] a = {"1","2","3","4","5"};
String[] b = {"1","2","3","4"};
Set <Object> set=new HashSet <Object>(Arrays.asList(b));
set.addAll(Arrays.asList(a));
System.out.println(set);
public T[] concat(T[] arr1, T[] arr2) {
Set<T> set = new HashSet<T>(Arrays.asList(arr2));
set.addAll(Arrays.asList(arr1));
return (T[])set.toArray();
}
String[] s2 = { "3", "4" };
String[] s3 = new String[s1.length + s2.length];
System.arraycopy(s1, 0, s3, 0, s1.length);
System.arraycopy(s2, 0, s3, s1.length, s2.length);
System.out.println(Arrays.toString(s3));
HashSet类实现了Set接口,所以不能有重复的元素.有也不会打印出来
数组 B= {"a","a"}
那最终结果是 C={"a","b","c"}了吧,
难道不是 C={"a","a","b"."c"}吗?
只是说添加元素,没说把 "a"删除吧,
for(int i=0;i<aaa.length;i++)
{
//如果A得数据在B中不存在,就放到B中
if(false == bList.contains(aaa[i]))
{
bList.add(aaa[i]);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] aaa = {"aa","bb","cc","dd","aa","aa"};
String[] bbb = {"aa","bbcc","eee"};
//网上的答案,会把重复的数据干掉,不是正确答案
// HashSet<String> set = new HashSet<String>(Arrays.asList(aaa));
// set.addAll(Arrays.asList(bbb));
// System.out.println(set);
//我写的,OK
List bList = new ArrayList(Arrays.asList(bbb));
for(int i=0;i<aaa.length;i++)
{
//如果A得数据在B中不存在,就放到B中
if(false == bList.contains(aaa[i]))
{
bList.add(aaa[i]);
}
}
System.out.println(bList);
}
for(int i = 0 ; i < array2.size() ; i++){
int size = set.size();
set.add(array2.get(i));
if(set.size() > size){
array1.add(array2.get(i));
}
}