當前位置:首頁 » 編程語言 » 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
}
}

熱點內容
壓縮包mp4 發布:2025-03-06 21:31:59 瀏覽:597
在b站清緩存 發布:2025-03-06 21:21:51 瀏覽:494
安卓系統中國哪裡下載 發布:2025-03-06 21:21:42 瀏覽:924
幀緩存定義 發布:2025-03-06 21:20:21 瀏覽:703
3d動畫解壓密碼 發布:2025-03-06 21:20:14 瀏覽:57
安卓系統2K哪裡下載 發布:2025-03-06 21:14:04 瀏覽:944
如何在雲主機上搭建web伺服器 發布:2025-03-06 21:09:05 瀏覽:591
電腦改為伺服器有什麼用 發布:2025-03-06 21:00:38 瀏覽:270
網站在文件夾 發布:2025-03-06 20:51:46 瀏覽:116
阿瑪尼行李箱密碼鎖如何換密碼 發布:2025-03-06 20:46:02 瀏覽:106