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

熱點內容
qml文件修改後編譯未生效 發布:2025-05-14 07:31:00 瀏覽:330
內到內演算法 發布:2025-05-14 07:29:11 瀏覽:33
文件夾名字不顯示 發布:2025-05-14 07:27:47 瀏覽:774
oracle的資料庫驅動jar 發布:2025-05-14 07:23:20 瀏覽:555
我的世界電腦版伺服器手機版能進嗎 發布:2025-05-14 07:22:01 瀏覽:678
達內培訓php多少錢 發布:2025-05-14 07:19:10 瀏覽:26
python位元組轉字元串 發布:2025-05-14 07:06:35 瀏覽:421
subplotpython 發布:2025-05-14 06:53:51 瀏覽:661
豎屏大屏導航工廠密碼一般是多少 發布:2025-05-14 06:49:29 瀏覽:806
如何在手機里設置無線網密碼 發布:2025-05-14 06:47:54 瀏覽:120