社区
Java SE
帖子详情
对两个ArrayList数组进行比较,求出数组中相等的内容?
scholes3232
2003-10-17 12:00:27
有两个数组,分别为array1:[111,222,333,444,555]
array2:[aaa,111,bbb,222,ccc,333]
怎样求出数组中相等的内容?
...全文
288
8
打赏
收藏
对两个ArrayList数组进行比较,求出数组中相等的内容?
有两个数组,分别为array1:[111,222,333,444,555] array2:[aaa,111,bbb,222,ccc,333] 怎样求出数组中相等的内容?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
snake_eye
2003-10-18
打赏
举报
回复
同意(我也是新手)
LoveRose
2003-10-17
打赏
举报
回复
学习了removeAll(Collection c)的方法
好用
希偌
2003-10-17
打赏
举报
回复
ArrayList array1=new ArrayList();
ArrayList array2=new ArrayList();
array1.add("111");array1.add("222");array1.add("333");array1.add("444");array1.add("555");
array2.add("aaa");array2.add("111");array2.add("bbb");array2.add("222");array2.add("ccc");array2.add("333");
System.out.println(array1);
System.out.println(array2);
ArrayList newArray=(ArrayList)array1.clone();//clone,newArray:[111,222,333,444,555]
array1.removeAll(array2);//这一步操作之后,array1:[444,555]
newArray.removeAll(array1);//这一步操作之后,newArray:[111,222,333],这个应该就是你需要的结果了
System.out.println(newArray);
LoveRose
2003-10-17
打赏
举报
回复
最笨的方法是就是两个循环的嵌套了。
依次比较
whyxx
2003-10-17
打赏
举报
回复
楼上的.
如果你看了removeall的源代码你就不会这样说了,里面就是这样处理的,而且你还用了两次.
希偌
2003-10-17
打赏
举报
回复
晕倒
用for来循环contains,效率更低
Yanbin_Q
2003-10-17
打赏
举报
回复
先进行排序啊。
whyxx
2003-10-17
打赏
举报
回复
用两次removeall效率多低呀,其实removeall也不过就是遍历一个list,然后另一个list使用contains函数来判断,这样的话还不如直接自己写,只需要一次就成功了.
List array1 = new ArrayList();
List array2 = new ArrayList();
array1.add("111");
array1.add("222");
array1.add("333");
array1.add("444");
array1.add("555");
array2.add("aaa");
array2.add("111");
array2.add("bbb");
array2.add("222");
array2.add("ccc");
array2.add("333");
List resultList = new ArrayList();
for (Iterator i = array1.iterator(); i.hasNext();) {
Object temp = i.next();
if (array2.contains(temp)) {
resultList.add(temp);
}
}
最后的relustList就是你想要的东西
java之
ArrayList
数组
java中
ArrayList
数组
运行实例 import java.util.
ArrayList
; //
ArrayList
类是一个可以动态修改的
数组
,与普通
数组
的区别就是它是没有固定大小的限制, // 我们可以添加或删除元素。 public class learn7 { public static void main(String[] args) {
ArrayList
<String> sites = new
ArrayList
<String>(); si
求
两个
有序
数组
的交集—JAVA实现
题目描述 有
两个
有序
数组
a,b,长度分别为m,n。请找出
两个
数组
中
的相同的元素 方法一 在
数组
a,b开始设置
两个
指针,若一个
数组
中
的元素比另一个
数组
中
的数小,则向后移动直到
两个
数组
中
元素
相等
。一直向后遍历直到到达一个
数组
的末尾。时间复杂度为O(m+n) public static
ArrayList
get(int[] a, int[] b) {
ArrayList
<Integer> list = new
ArrayList
<>(); int i=0;
过滤(筛选)出
两个
数组
不同的元素
方法一、 1.筛选出
两个
数组
不同的元素 let list= []; list = this.array1.filter(item=>{ return array2.indexOf(item) === -1 }); 方法二、 2.筛选出
两个
数组
相同的元素 let list= []; list = this.array1.filter(item=>{ return array2.indexOf(item) !== -1 }); ...
找出
两个
有序
数组
的交集
import java.util.
ArrayList
; import java.util.List; /** * 【题目】:别人面经上的一道题:求
两个
有序
数组
中
的交集。看似很简单的一道题,但是最终想要的思路是一个来回二分查找的思路 * 【思想】:求交集的就需要去查找
两个
数组
中
的重复元素。然后要查找的话,又是有序
数组
,自然想到二分查找。所以,首先遍历
数组
A中的数numsA[idx] * 然后再
数组
B中去二分查找numsA[idx],返回一个索引idx2; 然后if(numsA[idx]==numsB[
40.在
两个
长度
相等
的排序
数组
中
找到上中位数
40.在
两个
长度
相等
的排序
数组
中
找到上中位数 题目描述 给定
两个
有序
数组
arr1和arr2,已知
两个
数组
的长度都为N,求
两个
数组
中
所有数的上中位数。 上中位数:假设递增序列长度为n,若n为奇数,则上中位数为第n/2+1个数;否则为第n/2个数 [要求] 时间复杂度为O(logN)O(log**N),额外空间复杂度为O(1)O(1) 输入 [1,2,3,4],[3,4,5,6] 返回值 3 说明 总共有8个数,上中位数是第4小的数,所以返回3。 输入 [0,1,2],[3,4,5] 返回值 2 说
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章