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一个数据 展开
list1中有123,456,789三个数据
List<Integer> list2=new ArrayList();
list2中有123,345,789三个数据
怎么删除list1中123、789两个数据,得到的只有456一个数据 展开
3个回答
展开全部
最简单的方法,双重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;
这样就行了,有不明白可以接着问
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;
这样就行了
展开全部
ArrayList删除元素有一个传Object对象的方法
remove(Object obj) : 指定删除哪一个元素
如果要删除集合当中指定的某个Integer
请确保参数是Integer类型而不是int
比如集合当中有[1,2,3]
删除元素之前请用Integer类型定义
remove(Object obj) : 指定删除哪一个元素
如果要删除集合当中指定的某个Integer
请确保参数是Integer类型而不是int
比如集合当中有[1,2,3]
删除元素之前请用Integer类型定义
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你知道存放的序列。可以用remove这个方法。
如果你不知道这个序列:
FOR(INTEGER PRARM : LIST1){
IF(PRARM !=456){
//写你想做的事情
}else{
system.out.println(PRARM );//你要的结果
//当然。你也可以用remove这个方法,把你不想要的数据移除掉
}
}
如果你不知道这个序列:
FOR(INTEGER PRARM : LIST1){
IF(PRARM !=456){
//写你想做的事情
}else{
system.out.println(PRARM );//你要的结果
//当然。你也可以用remove这个方法,把你不想要的数据移除掉
}
}
追问
是两个集合判断问题,如果list1中有list2中的数据就删除
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询