java,如何找数组在另一个数组中没有出现的元素 String[] a={"999000682", "999000680", "999000682", "999000682"};String[] b={"999000760", "999000682", "999000720", "999000721"};上面的两个数组中,我想找到存在于a中但不存在b于中的元素,即"999000680",用JAVA,怎么写呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 土点就是双重循环了,逐个对比检查。偷鸡点,就是两个数组都先存入Set中,然后用:第一个.removeAll(第二个)。 ArrayList<String> diffSet(String[] arr1, String[] arr2){ ArrayList<String> ret = new ArrayList<String>(); for(int i = 0; i < arr1.length; ++i){ if(!contain(arr2,arr1[i])) ret.add(arr1[i]); } return ret; } boolean contain(String[] arr, String value){ boolean ret = false; for(int i = 0; i < arr.length; ++i){ if(arr[i].equals(value)){ ret = true; break; } } return ret; } 两个数组依次循环。也可以转成set,用set来操作。String[] a={"999000682", "999000680", "999000682", "999000682"}; String[] b={"999000760", "999000682", "999000720", "999000721"}; Set<String> seta = new HashSet<String>(Arrays.asList(a)); Set<String> setb = new HashSet<String>(Arrays.asList(b)); seta.removeAll(setb); System.out.println(seta); jdom&xml 关于string与point转化 做项目的时候哪些知识比较重要? 有谁用过C++写的lucene吗? 如果一个类的特定元素(如方法)为静态方法(static),那么方法调用其它方法时,其它的方法是不是一定要为静态访求(static)? applet 无法正确显示? 高手解答,如何指定swing组件的size? 如何用JAVA生成数据库表记录的唯一标识符作为主键?不用自增长字段。 ant的配置问题 为什么我的程序读取文本文件时,输出的是字符的ASCII码? prepareStatement 的问题 poi解析excel到mysql
ArrayList<String> ret = new ArrayList<String>();
for(int i = 0; i < arr1.length; ++i){
if(!contain(arr2,arr1[i]))
ret.add(arr1[i]);
}
return ret;
}
boolean contain(String[] arr, String value){
boolean ret = false;
for(int i = 0; i < arr.length; ++i){
if(arr[i].equals(value)){
ret = true;
break;
}
}
return ret;
}
也可以转成set,用set来操作。
String[] a={"999000682", "999000680", "999000682", "999000682"}; String[] b={"999000760", "999000682", "999000720", "999000721"};
Set<String> seta = new HashSet<String>(Arrays.asList(a));
Set<String> setb = new HashSet<String>(Arrays.asList(b));
seta.removeAll(setb);
System.out.println(seta);