永发信息网

如何比较两个list有相同元素

答案:1  悬赏:40  手机版
解决时间 2021-01-30 10:56
  • 提问者网友:火车头
  • 2021-01-29 19:16
如何比较两个list有相同元素
最佳答案
  • 五星知识达人网友:神鬼未生
  • 2021-01-29 19:27
您好,我来为您解答:
Collections.disjoint(Collection<?> c1, Collection<?> c2)
如果两个指定 collection 中没有相同的元素,则返回 true。

希望我的回答对你有帮助。
貌似只能用循环来解决。

listA的数据量比listB的数据量大的时候:
for (int i = 0; i < listB.toArray().length; i++) {
if (listA.contains(listB.toArray()[i])) {
System.out.println(listB.toArray()[i]);
}
}

从问题补充来看listA应该不是直接存放数据,而是存放数据的集合,这样就需要把具体什么类型的集合说清除否则无法解答。

假设listA用一个数组存放“ID”“NAME”“AGE”列而listB直接存放“PID”的话。
listA.add(new String[] {"id", "name", "age"});
listB.add("pid");
for (int i = 0; i < listA .toArray().length; i++) {
if (listB .contains(((String[])listA .toArray()[i])[0])) {
System.out.println(
"id : " + ((String[])listA .toArray()[i])[0] +
"name : " + ((String[])listA .toArray()[i])[1] +
"age : " + ((String[])listA .toArray()[i])[2]
);
}
}

据我现在的水平只能想到用循环了,特别是你的List中放的还那么复杂。
虽然数据量大的时候用循环是很消耗资源,但是没有更好选择的情况下也只能用循环了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯