我的Java路上那些事兒
快樂(lè)成長(zhǎng)
posts - 110, comments - 101, trackbacks - 0, articles - 7
BlogJava
::
首頁(yè)
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
list 循環(huán)時(shí) remove方法 異常 與 處理 方式
Posted on 2012-11-01 18:09
云云
閱讀(3842)
評(píng)論(1)
編輯
收藏
/** */
/**
*
*/
package
com.test;
import
java.util.ArrayList;
import
java.util.Iterator;
import
java.util.List;
import
java.util.concurrent.CopyOnWriteArrayList;
/** */
/**
*
@author
hello_yun
*
*/
public
class
ListOperation
{
/** */
/**
*
@param
args
*/
public
static
void
main(String[] args)
{
List
<
Integer
>
list1
=
new
ArrayList
<
Integer
>
();
List
<
Integer
>
list2
=
new
CopyOnWriteArrayList
<
Integer
>
();
list1.add(
1
);
list1.add(
2
);
list1.add(
3
);
list2.add(
3
);
list2.add(
4
);
//
try
//
{
//
for(Integer in : list1){
//
list1.remove(in);
//
直接循環(huán) 刪除對(duì)象會(huì)拋異常
//
}
//
} catch (Exception e)
//
{
//
System.out.println("list1 size : "+list1.size());
//
System.out.println("循環(huán)list1 異常 : "+e);
//
}
for
(Integer in : list2)
{
list2.remove(in);
System.out.println(
"
list2 :
"
+
list2.size());
}
list1.add(
1
);
list1.add(
2
);
list2.add(
3
);
list2.add(
4
);
for
(Iterator iterator
=
list1.iterator(); iterator.hasNext();)
{
iterator.next();
iterator.remove();
}
try
{
for
(Iterator iterator
=
list2.iterator(); iterator.hasNext();)
{
iterator.next();
iterator.remove();
}
}
catch
(Exception e)
{
System.out.println(
"
copyOnWriteArrayList remove :
"
+
e);
}
//
-------------這種方式 不會(huì)拋異常 -------------------------
try
{
for
(
int
i
=
0
;i
<
list1.size();i
++
)
{
list1.remove(i);
}
}
catch
(Exception e)
{
System.out.println(
"
list1 size :
"
+
list1.size());
System.out.println(
"
循環(huán)list1 異常 :
"
+
e);
}
}
}
使用 copyOnWriteArrayList時(shí) ,通過(guò) list.remove()方法是安全的 但是使用iterator.remove是會(huì)拋異常的
查看copyOnWriteArrayList源碼 會(huì)發(fā)現(xiàn) iterator.remove方法的實(shí)現(xiàn)是直接拋異常的
/**
* Not supported. Always throws UnsupportedOperationException.
* @throws UnsupportedOperationException always; <tt>remove</tt>
* is not supported by this iterator.
*/
public void remove() {
throw new UnsupportedOperationException();
}
但是通過(guò)ArrayList實(shí)現(xiàn)時(shí), list.remove會(huì)拋異常 java.util.ConcurrentModificationException,
但是 ArrayList的 iterator.remove不會(huì)拋異常
評(píng)論
#
re: list 循環(huán)時(shí) remove方法 異常 與 處理 方式 [未登錄]
回復(fù)
更多評(píng)論
2015-12-09 11:05 by
Young
使用for(int i=0;i<list1.size();i++)這種形式去remove元素,雖然不會(huì)拋異常,但是未能正確的remove元素,最后的list1的size不等于0
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
Powered by:
BlogJava
Copyright © 云云
日歷
<
2012年11月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
常用鏈接
我的隨筆
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(9)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2015年7月 (1)
2014年9月 (3)
2014年1月 (3)
2013年12月 (1)
2013年11月 (4)
2013年10月 (2)
2013年7月 (2)
2013年6月 (3)
2013年4月 (2)
2013年1月 (2)
2012年12月 (4)
2012年11月 (3)
2012年10月 (3)
2012年9月 (2)
2012年8月 (1)
2012年7月 (9)
2012年6月 (2)
2012年5月 (6)
2012年4月 (7)
2012年3月 (2)
2012年2月 (1)
2012年1月 (1)
2011年12月 (2)
2011年11月 (16)
2011年10月 (7)
2011年8月 (1)
2011年6月 (2)
2011年5月 (5)
2011年4月 (9)
2011年3月 (10)
搜索
最新評(píng)論
1.?re: CAP原理與最終一致性 強(qiáng)一致性 透析
學(xué)習(xí)。
--NewSea
2.?re: 一致性哈希算法與Java實(shí)現(xiàn)
有一個(gè)問(wèn)題,如果使用虛擬節(jié)點(diǎn),某臺(tái)機(jī)器每次宕機(jī)再恢復(fù)后都需要遷移數(shù)據(jù)。這樣是否反而更麻煩了。
--三單聯(lián)咖啡色
3.?re: java static塊和static 方法 的使用區(qū)別
sss
--zhangsan
4.?re: struts2 jsp頁(yè)面使用s:if 標(biāo)簽
你是基佬 哦耶耶
--基佬
5.?re: android開發(fā)過(guò)程中 R文件消失 clean 和 build project都無(wú)效 已解決
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--llll
閱讀排行榜
1.?linux 新建用戶、用戶組 以及為新用戶分配權(quán)限(127886)
2.?Oracle內(nèi)連接、外連接、右外連接、全外連接小總結(jié)(93205)
3.?zookeeper 集群安裝(單點(diǎn)與分布式成功安裝)摘錄(79153)
4.?android開發(fā)過(guò)程中 R文件消失 clean 和 build project都無(wú)效 已解決(76971)
5.?一致性哈希算法與Java實(shí)現(xiàn) (48855)
評(píng)論排行榜
1.?Oracle內(nèi)連接、外連接、右外連接、全外連接小總結(jié)(12)
2.?zookeeper 集群安裝(單點(diǎn)與分布式成功安裝)摘錄(11)
3.?android開發(fā)過(guò)程中 R文件消失 clean 和 build project都無(wú)效 已解決(6)
4.?struts2 jsp表單提交后保留表單中輸入框中的值 下拉框select與input(6)
5.?jquery 自動(dòng)過(guò)濾表單輸入框前后空格(5)
主站蜘蛛池模板:
亚洲制服在线观看
|
在线观看视频免费完整版
|
亚洲色欲啪啪久久WWW综合网
|
亚洲中文久久精品无码ww16
|
久久精品无码一区二区三区免费
|
久久久免费的精品
|
a视频免费在线观看
|
四虎影视永久在线精品免费
|
亚洲AV无码一区二区大桥未久
|
婷婷亚洲综合五月天小说在线
|
亚洲精品影院久久久久久
|
亚洲不卡av不卡一区二区
|
亚洲精品成人久久久
|
免费人成在线观看网站品爱网日本
|
黄瓜视频高清在线看免费下载
|
国产香蕉免费精品视频
|
少妇无码一区二区三区免费
|
国产色无码精品视频免费
|
久久久久免费视频
|
国产精品黄页免费高清在线观看
|
高h视频在线免费观看
|
久久久久久亚洲av无码蜜芽
|
亚洲欧美日韩中文无线码
|
亚洲av片不卡无码久久
|
亚洲一级毛片中文字幕
|
亚洲国产美女精品久久久久
|
亚洲国产精品乱码在线观看97
|
1区1区3区4区产品亚洲
|
91在线亚洲精品专区
|
亚洲精品美女视频
|
亚洲一级毛片在线观
|
亚洲成年网站在线观看
|
亚洲熟妇自偷自拍另欧美
|
亚洲精华液一二三产区
|
亚洲欧美在线x视频
|
免费无码国产V片在线观看
|
一级毛片在线完整免费观看
|
久久嫩草影院免费看夜色
|
国产在线观看免费视频软件
|
一级毛片免费视频
|
91九色精品国产免费
|