我的Java路上那些事兒
快樂成長
posts - 110, comments - 101, trackbacks - 0, articles - 7
BlogJava
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
list 循環時 remove方法 異常 與 處理 方式
Posted on 2012-11-01 18:09
云云
閱讀(3842)
評論(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);
//
直接循環 刪除對象會拋異常
//
}
//
} catch (Exception e)
//
{
//
System.out.println("list1 size : "+list1.size());
//
System.out.println("循環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);
}
//
-------------這種方式 不會拋異常 -------------------------
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(
"
循環list1 異常 :
"
+
e);
}
}
}
使用 copyOnWriteArrayList時 ,通過 list.remove()方法是安全的 但是使用iterator.remove是會拋異常的
查看copyOnWriteArrayList源碼 會發現 iterator.remove方法的實現是直接拋異常的
/**
* Not supported. Always throws UnsupportedOperationException.
* @throws UnsupportedOperationException always; <tt>remove</tt>
* is not supported by this iterator.
*/
public void remove() {
throw new UnsupportedOperationException();
}
但是通過ArrayList實現時, list.remove會拋異常 java.util.ConcurrentModificationException,
但是 ArrayList的 iterator.remove不會拋異常
評論
#
re: list 循環時 remove方法 異常 與 處理 方式 [未登錄]
回復
更多評論
2015-12-09 11:05 by
Young
使用for(int i=0;i<list1.size();i++)這種形式去remove元素,雖然不會拋異常,但是未能正確的remove元素,最后的list1的size不等于0
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
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
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(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)
搜索
最新評論
1.?re: CAP原理與最終一致性 強一致性 透析
學習。
--NewSea
2.?re: 一致性哈希算法與Java實現
有一個問題,如果使用虛擬節點,某臺機器每次宕機再恢復后都需要遷移數據。這樣是否反而更麻煩了。
--三單聯咖啡色
3.?re: java static塊和static 方法 的使用區別
sss
--zhangsan
4.?re: struts2 jsp頁面使用s:if 標簽
你是基佬 哦耶耶
--基佬
5.?re: android開發過程中 R文件消失 clean 和 build project都無效 已解決
評論內容較長,點擊標題查看
--llll
閱讀排行榜
1.?linux 新建用戶、用戶組 以及為新用戶分配權限(127887)
2.?Oracle內連接、外連接、右外連接、全外連接小總結(93205)
3.?zookeeper 集群安裝(單點與分布式成功安裝)摘錄(79153)
4.?android開發過程中 R文件消失 clean 和 build project都無效 已解決(76972)
5.?一致性哈希算法與Java實現 (48855)
評論排行榜
1.?Oracle內連接、外連接、右外連接、全外連接小總結(12)
2.?zookeeper 集群安裝(單點與分布式成功安裝)摘錄(11)
3.?android開發過程中 R文件消失 clean 和 build project都無效 已解決(6)
4.?struts2 jsp表單提交后保留表單中輸入框中的值 下拉框select與input(6)
5.?jquery 自動過濾表單輸入框前后空格(5)
主站蜘蛛池模板:
午夜免费福利视频
|
丝袜捆绑调教视频免费区
|
国产产在线精品亚洲AAVV
|
日日摸夜夜添夜夜免费视频
|
一区二区三区视频免费观看
|
久久免费观看国产精品88av
|
青青草a免费线观a
|
国产在线ts人妖免费视频
|
红杏亚洲影院一区二区三区
|
四虎成人精品永久免费AV
|
中文免费观看视频网站
|
日韩毛片无码永久免费看
|
中国亚洲女人69内射少妇
|
亚洲视频免费播放
|
久久久久久亚洲av无码蜜芽
|
黄桃AV无码免费一区二区三区
|
最近中文字幕高清免费中文字幕mv
|
久久精品国产亚洲AV天海翼
|
中文在线观看免费网站
|
无码国产精品一区二区免费式影视
|
日韩一级视频免费观看
|
亚洲精品蜜桃久久久久久
|
tom影院亚洲国产一区二区
|
午夜不卡AV免费
|
亚洲精品视频免费看
|
无码欧精品亚洲日韩一区夜夜嗨
|
色www永久免费网站
|
色窝窝免费一区二区三区
|
亚洲精品线路一在线观看
|
亚洲美免无码中文字幕在线
|
亚洲精品伦理熟女国产一区二区
|
在线观看免费黄网站
|
日韩免费一级毛片
|
久久精品国产亚洲AV高清热
|
狠狠综合亚洲综合亚洲色
|
最近2019免费中文字幕视频三
|
国产精品四虎在线观看免费
|
国产日韩AV免费无码一区二区
|
AA免费观看的1000部电影
|
激情97综合亚洲色婷婷五
|
亚洲无人区码一二三码区别图片
|