java List<Interger>集合怎么删除特定值的元素,不是根据下标

比如List<Integer>list1=newArrayList();list1中有123,456,789三个数据List<Integer>list2=newArray... 比如List<Integer> list1=new ArrayList();
list1中有123,456,789三个数据
List<Integer> list2=new ArrayList();
list2中有123,345,789三个数据
怎么删除list1中123、789两个数据,得到的只有456一个数据
展开
 我来答
Mooneysl
推荐于2017-09-17
知道答主
回答量:11
采纳率:0%
帮助的人:9.4万
展开全部
最简单的方法,双重for循环
List<Integer> result = new ArrayList<Integer>();
for(Integer i : list1) {
boolean isEqual = false;
for(Integer j : list1) {
// 现在认为你的一个list中没有重复的数字
if (i == j) {
isEqual = true;
break;
}
}
if(!isEqual) {
result.add(i);
}
}
list1 = result;

这样就行了,有不明白可以接着问
追问
可以,再问一下能不能把list2中345取出来?在上面哪个地方加判断,谢谢!
追答
你的意思是将两个list中各不相同的数字取出来?
如果是,那如下:
List result = new ArrayList();
for(Integer i : list1) {
boolean isEqual = false;
int count = 0;
for(Integer j : list2) {
count ++;
// 现在认为你的一个list中没有重复的数字
if (i == j) {
isEqual = true;
break;
}
}
if(!isEqual) {
result.add(i);
} else {
list2.remove(count - 1);
}
}
list1 = result;

这样就行了
等祢看流星雨
推荐于2017-09-13 · TA获得超过231个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:199万
展开全部
ArrayList删除元素有一个传Object对象的方法
remove(Object obj) : 指定删除哪一个元素
如果要删除集合当中指定的某个Integer
请确保参数是Integer类型而不是int
比如集合当中有[1,2,3]
删除元素之前请用Integer类型定义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dngoryaner
2012-04-26 · TA获得超过2350个赞
知道小有建树答主
回答量:2404
采纳率:0%
帮助的人:1134万
展开全部
如果你知道存放的序列。可以用remove这个方法。
如果你不知道这个序列:

FOR(INTEGER PRARM : LIST1){
IF(PRARM !=456){
//写你想做的事情
}else{
system.out.println(PRARM );//你要的结果
//当然。你也可以用remove这个方法,把你不想要的数据移除掉
}
}
追问
是两个集合判断问题,如果list1中有list2中的数据就删除
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式