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

熱點內容
家用電腦改成伺服器並讓外網訪問 發布:2025-02-01 15:30:23 瀏覽:354
javac工資 發布:2025-02-01 15:24:28 瀏覽:22
如何刪除伺服器登錄賬號 發布:2025-02-01 15:21:05 瀏覽:498
瑞薩編程器 發布:2025-02-01 15:19:18 瀏覽:85
上海ntp伺服器搭建 發布:2025-02-01 15:03:38 瀏覽:991
c游戲編程基礎 發布:2025-02-01 15:00:17 瀏覽:993
routejs怎麼動態配置 發布:2025-02-01 14:59:07 瀏覽:502
家用電腦安裝伺服器內存 發布:2025-02-01 14:38:50 瀏覽:257
增量調制編解碼實驗報告 發布:2025-02-01 14:30:30 瀏覽:787
不良人2無敵傷害腳本 發布:2025-02-01 14:23:04 瀏覽:398