日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java arraylist的问题

發(fā)布時(shí)間:2025/6/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java arraylist的问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
java arraylist的問(wèn)題

不得不說(shuō),我犯了錯(cuò),很基礎(chǔ)的。。

遍歷list的時(shí)候可以刪除數(shù)組元素嗎? 答案是:簡(jiǎn)單/增強(qiáng)for循環(huán)不可以,list.iterator()這樣的方式就可以。

我之前做過(guò)類似面試題的,不過(guò)忘記了, 不記得是list還是set或者map了 。list? 貌似也可以吧。

對(duì)于set、map也是同理。

?

如果是刪除list倒數(shù)第一、倒數(shù)第二個(gè)元素,不會(huì)報(bào)錯(cuò),

private static void listtest() {List<String> list = new ArrayList<String>(); list.add("Java"); list.add("C"); list.add("C++"); list.add("C#"); try {for(String str:list) {System.out.println(str);if(str.equalsIgnoreCase("C++")) {list.remove(str);}}} catch (Exception e) {e.printStackTrace();}System.out.println(list);}

?

打印:

Java
C
C++    -----C#現(xiàn)在的索引為2,被認(rèn)為已經(jīng)遍歷過(guò)了的,被略去!!
[Java, C, C#]------ 刪除是成功了的!!!

?

把c++改成c,則報(bào)錯(cuò)

Java C java.util.ConcurrentModificationException [Java, C++, C#]at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:819)at java.util.ArrayList$Itr.next(ArrayList.java:791)at Test.listtest(Test.java:154)at Test.main(Test.java:135)

?

?

否則:

java.util.ConcurrentModificationExceptionat java.util.ArrayList$Itr.checkForComodification(Unknown Source)at java.util.ArrayList$Itr.next(Unknown Source)at com.huawei.oms.app.sysmgr.agent.neagent.db.DatabaseMonitor.queryDBInfo(DatabaseMonitor.java:291)at com.huawei.oms.app.sysmgr.agent.neagent.NeAgentImpl.queryDBInfo(NeAgentImpl.java:486)at sun.reflect.GeneratedMethodAccessor265.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at sun.reflect.misc.Trampoline.invoke(Unknown Source)at sun.reflect.GeneratedMethodAccessor114.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at sun.reflect.misc.MethodUtil.invoke(Unknown Source)at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown Source)at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown Source)at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source)at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source)at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(Unknown Source)at com.sun.jmx.mbeanserver.PerInterface.invoke(Unknown Source)at com.sun.jmx.mbeanserver.MBeanSupport.invoke(Unknown Source)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source)at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown Source)at javax.management.remote.rmi.RMIConnectionImpl.access$300(Unknown Source)at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown Source)at java.security.AccessController.doPrivileged(Native Method)at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown Source)at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source)at sun.reflect.GeneratedMethodAccessor176.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)at sun.rmi.transport.Transport$1.run(Unknown Source)at sun.rmi.transport.Transport$1.run(Unknown Source)at java.security.AccessController.doPrivileged(Native Method)at sun.rmi.transport.Transport.serviceCall(Unknown Source)at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at java.lang.Thread.run(Unknown Source)

?

?

如何處理這種情況呢?

?用list的iterator就沒(méi)問(wèn)題, 這顯然跟jdk、jvm本身相關(guān)。 —— 參考http://www.cnblogs.com/dongzhouzhou/articles/ConcurrentModificationException.html

Iterator<String> iterator = list.iterator();while (iterator.hasNext()) {String str = (String) iterator.next();System.out.println(str);if(str.equalsIgnoreCase("C")) {iterator.remove();}}

?

?

同樣的,對(duì)list做add操作會(huì)導(dǎo)致list長(zhǎng)度動(dòng)態(tài)增加、增加for和iterator都可以立即檢測(cè)到。

?

另外一方面,如果我們對(duì)list里面的元素做修改呢?—— 對(duì)基礎(chǔ)類型元素不會(huì)生效,———— 而對(duì)引用類型會(huì)生效。 當(dāng)然,估計(jì)沒(méi)人這么用。

?

private static void listtest() {List<Persion> list = new ArrayList<Persion>(); List<String> list2 = new ArrayList<String>(10); Persion p1 = new Persion("lk1", 1);Persion p2 = new Persion("lk2", 2);Persion p3 = new Persion("lk3", 3);Persion p4 = new Persion("lk4", 4);list.add(p1); list.add(p2); list.add(p3); list.add(p4); Iterator<Persion> iterator = list.iterator();while (iterator.hasNext()) {Persion str = (Persion) iterator.next();System.out.println(str.getName());if(str.getName().equalsIgnoreCase("lk2")) {str.setName("123123");//iterator.remove(); }}System.out.println(list);}class Persion {String name;int age;public Persion(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "name : " + this.name + " age : " + this.age;} }

?

posted on 2014-04-17 16:02 CanntBelieve 閱讀(...) 評(píng)論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/FlyAway2013/p/3670987.html

總結(jié)

以上是生活随笔為你收集整理的java arraylist的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 性生活在线视频 | 97色综合| 性折磨bdsm欧美激情另类 | 日本三级中文字幕在线观看 | 天堂av在线资源 | 日本调教电影 | 动漫3d精品一区二区三区乱码 | 国产精品乱码久久久 | 99热一区二区 | 色啦啦视频 | 久久激情综合 | 国产www免费观看 | 极品美女高潮出白浆 | 中国av在线 | 大又大粗又爽又黄少妇毛片 | 我的公把我弄高潮了视频 | 舒淇裸体午夜理伦 | 女性裸体瑜伽无遮挡 | 最新国产在线视频 | 久久视频国产 | 九热在线视频 | 欧洲一区在线观看 | 日韩在线激情视频 | 黄色av网站在线观看 | 永久黄网站 | 国产伊人一区 | 毛片在线播放视频 | 国语对白自拍 | 国模无码大尺度一区二区三区 | 综合激情婷婷 | 欧洲视频一区 | 2025国产精品视频 | 久久久久一级 | 91精品国产色综合久久不卡蜜臀 | 国产毛片在线视频 | 欧美热热 | 亚洲妇熟xx妇色黄蜜桃 | 精品一区二区三区在线视频 | 九九热国产在线 | 一级a毛片免费观看久久精品 | 性欧美free | 亚洲一区二区三区免费在线观看 | 99国产精品视频免费观看一公开 | 四虎国产精品成人免费入口 | 亚洲国产免费 | 国产69精品久久久久久 | 久久99精品久久久久久琪琪 | av色播| 情侣作爱视频网站 | 欧美大色 | 91麻豆视频在线观看 | 91精品国产乱码久久久张津瑜 | 一级艳片新婚之夜 | 夜夜综合| 日本三级久久 | 欧洲久久久久 | 国产精品久久久久久免费播放 | 日韩视频在线免费观看 | 国产一区二区激情视频 | 99情趣网 | 91片黄在线观 | 性高潮久久久久 | 得得的爱在线视频 | 黄色91 | 久久精品日韩无码 | 成人福利在线 | 黄色大尺度视频 | 韩国伦理片观看 | 亚洲中文无码久久 | 中文字幕久久熟女蜜桃 | 色窝网 | 欧美毛片在线 | 久草精品视频在线观看 | 狠狠综合网 | 福利电影一区二区三区 | 国产66页 | 韩国av不卡| 巨大乳の揉んで乳榨り奶水 | 久久第一页 | 成人网在线播放 | 影院一区| 久草综合网 | 久久视奸 | 69视频在线看 | 亚洲免费av片| 大奶av| 久久久电影 | 日韩av伦理| 91国产大片| 闺蜜张开腿让我爽了一夜 | 三年中国片在线高清观看 | 亚洲欧美日韩精品在线 | 中文字幕人妻一区二区三区在线视频 | 人妻互换一二三区激情视频 | 亚洲一区在线观 | 中文字幕在线观看线人 | 久久久久久久久久久久久久免费看 | 狠狠人妻久久久久久综合 | 四虎成人精品永久免费av |