当前位置:首页 » 编程语言 » javaremoveall

javaremoveall

发布时间: 2022-07-18 02:31:40

java中removeAll方法与clear方法有什么区别

这里我以Collection接口中的两个方法进行说明:

1、clear()方法

注意看源码对于此方法的说明,这里是说你用一个Collection对象(我们称其为A)调用此方法,这个方法中需要传入一个参数,参数为另一个Collection对象(我们称之为B),调用此方法为从A中移出它和B对象相同的元素。而对于A中含有而B中不含有的对象,不移除。

不同于clear()方法的是,执行removeAll()方法后,Collection对象中可能仍有元素。

② java中list的removeall问题

底层是用迭代器来实现的
publicbooleanremoveAll(Collection<?>collection){

booleanresult=false;

Iterator<?>it=iterator();

while(it.hasNext()){

if(collection.contains(it.next())){

it.remove();

result=true;

}

}

returnresult;

}

③ Java中 removeAll 方法的一点小疑问

	publicstaticvoidmain(String[]args){
List<String>list=newArrayList<String>();
list.add("11");
list.add("22");
list.add("33");
list.add("11");
List<String>list2=newArrayList<String>();
list2.add("11");
list2.add("22");
list.removeAll(list2);
System.out.println(list.toString());
}

如上述代码:此是指的list(要移除的集合),指定指的是list2(要移除中包含的集合),最终打印:[33]

④ java集合问题----removeAll

list存放的是temp的地址。你把temp里面的东西全部删了,也就是把一个list里面最终指向的=空间删了,当然是空了。这些引用类型 和基本类型是不同的

⑤ java中的removeall方法是什么意思

如果JComboBox 的元素使用add()添加的,就用removeAll()移出。如果是用addItem()添加的,就用removeAllItems()移出。

⑥ 如何使用Java List等集合类的removeAll方法

List等集合类的removeAll方法,API文档描述如下:

1
2

boolean removeAll(Collection<?> c)
从列表中移除指定 collection 中包含的其所有元素(可选操作)。

用法案例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

List<String> list1 = new ArrayList<String>();
list1.add("1");
list1.add("2");
list1.add("3");
list1.add("4");
list1.add("5");
list1.add("6");

List<String> list2 = new ArrayList<String>();
list2.add("2");
list2.add("4");
list2.add("6");
list2.add("8");

list1.removeAll(list2); //删除 2 4 6

removeAll的方法实现在下面的类里面:
java.util.AbstractCollection<E>
具体代码为:

1
2
3
4
5
6
7
8
9
10
11

public boolean removeAll(Collection<?> c) {
boolean modified = false;
Iterator<?> it = iterator();
while (it.hasNext()) {
if (c.contains(it.next())) {
it.remove();
modified = true;
}
}
return modified;
}

可以看到在调用removeAll方法时,实际上是循环调用了remove方法,remove方法具体代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

public boolean remove(Object o) {
Iterator<E> it = iterator();
if (o==null) {
while (it.hasNext()) {
if (it.next()==null) {
it.remove();
return true;
}
}
} else {
while (it.hasNext()) {
if (o.equals(it.next())) {
it.remove();
return true;
}
}
}
return false;
}

注意:remove方法中有一段关键的代码:if (o.equals(it.next())) ,在执行removeAll方法时是通过equals方法来判断集合元素是否相等的,如果集合的元素是对象,并且没有Override equals方法,可能会导致移除失败!

⑦ Java集合List里面的removeAll()方法,在哪里实现的。

List是接口继承了Collection接口
ArrayList继承了AbstractList是实现了List,RandomAccess,Cloneable,Serializable jdk1.7以上可以直接查看源代码的 !
List中定义了removeAll
ArrayList实现了removeAll

⑧ 怎么使用Java List等集合类的removeAll方法

importjava.util.ArrayList;
importjava.util.List;


publicclassListRemoveAll{
publicstaticvoidmain(String[]args){
List<String>list1=newArrayList<String>();
list1.add("1");
list1.add("2");
list1.add("3");
list1.add("4");
list1.add("5");
list1.add("6");

List<String>list2=newArrayList<String>();
list2.add("2");
list2.add("4");
list2.add("6");
list2.add("8");


list1.removeAll(list2);//删除246
System.out.println(list1.size());//list1还剩下3个元素,135
}
}

热点内容
绝对赛车3安卓在哪里下载 发布:2025-02-01 12:42:30 浏览:715
mysql修改数据库字符 发布:2025-02-01 12:37:52 浏览:567
阿里云服务器出厂密码是多少 发布:2025-02-01 12:35:43 浏览:665
手机传文件服务器和ip地址 发布:2025-02-01 12:15:01 浏览:657
儿子编程课 发布:2025-02-01 12:15:00 浏览:900
zsh脚本 发布:2025-02-01 12:13:48 浏览:595
android亮度获取 发布:2025-02-01 12:09:10 浏览:624
小孩什么时候学编程比较好 发布:2025-02-01 12:03:10 浏览:960
c语言的认识 发布:2025-02-01 11:58:03 浏览:520
svn连接服务器地址 发布:2025-02-01 11:51:31 浏览:416