java中两个list对比有什么好办法?
最简单的方法就是二重循环,可有没有直接的方法可以把两个LIST的数据做比对?然后取出一样的来?...
最简单的方法就是二重循环,可有没有直接的方法可以把两个LIST的数据做比对?然后取出一样的来?
展开
2个回答
展开全部
为什么不好好看看JAVA API呢.上面都有啊.
Arrays.equals(Object[] a, Object[] a2)
如果两个指定的 Objects 数组彼此相等,则返回 true。
Arrays.deepEquals(Object[] a1, Object[] a2)
如果两个指定数组彼此是深层相等 的,则返回 true。
如果你比较了之后,还要取出一样的元素,那么JAVA没有这种函数了.只能循环了.
我说楼上的.现在用泛化和双参FOR循环的是JDK1.5以上才用的,如果楼主用的不懂这些你只能让他更加难以理解.不要用问题解决问题.
Arrays.equals(Object[] a, Object[] a2)
如果两个指定的 Objects 数组彼此相等,则返回 true。
Arrays.deepEquals(Object[] a1, Object[] a2)
如果两个指定数组彼此是深层相等 的,则返回 true。
如果你比较了之后,还要取出一样的元素,那么JAVA没有这种函数了.只能循环了.
我说楼上的.现在用泛化和双参FOR循环的是JDK1.5以上才用的,如果楼主用的不懂这些你只能让他更加难以理解.不要用问题解决问题.
展开全部
谁说的用2重循环最简单了???不能说的太绝对了。如果你的List放的不是对象,使用这个方法。举个例子contains(Object o)
方法
List<String> lt1 = new ArrayList<String>();
lt1.add("ab");
lt1.add("bb");
lt1.add("cc");
List<String> lt2 = new ArrayList<String>();
lt2.add("ab");
lt2.add("cc");
lt2.add("dd");
for(String kk:lt1){
if(lt2.contains(kk)){
System.out.println(kk);
}
方法
List<String> lt1 = new ArrayList<String>();
lt1.add("ab");
lt1.add("bb");
lt1.add("cc");
List<String> lt2 = new ArrayList<String>();
lt2.add("ab");
lt2.add("cc");
lt2.add("dd");
for(String kk:lt1){
if(lt2.contains(kk)){
System.out.println(kk);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询