<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的Java路上那些事兒

    快樂(lè)成長(zhǎng)
    posts - 110, comments - 101, trackbacks - 0, articles - 7
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    /**
     * 
     
    */

    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è)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲制服在线观看| 在线观看视频免费完整版| 亚洲色欲啪啪久久WWW综合网| 亚洲中文久久精品无码ww16| 久久精品无码一区二区三区免费| 久久久免费的精品| a视频免费在线观看| 四虎影视永久在线精品免费| 亚洲AV无码一区二区大桥未久 | 婷婷亚洲综合五月天小说在线| 亚洲精品影院久久久久久| 亚洲不卡av不卡一区二区| 亚洲精品成人久久久| 免费人成在线观看网站品爱网日本| 黄瓜视频高清在线看免费下载| 国产香蕉免费精品视频| 少妇无码一区二区三区免费| 国产色无码精品视频免费| 久久久久免费视频| 国产精品黄页免费高清在线观看| 高h视频在线免费观看| 久久久久久亚洲av无码蜜芽| 亚洲欧美日韩中文无线码| 亚洲av片不卡无码久久| 亚洲一级毛片中文字幕| 亚洲国产美女精品久久久久| 亚洲国产精品乱码在线观看97| 1区1区3区4区产品亚洲| 91在线亚洲精品专区| 亚洲精品美女视频| 亚洲一级毛片在线观| 亚洲成年网站在线观看| 亚洲熟妇自偷自拍另欧美| 亚洲精华液一二三产区| 亚洲欧美在线x视频| 免费无码国产V片在线观看| 一级毛片在线完整免费观看| 久久嫩草影院免费看夜色| 国产在线观看免费视频软件| 一级毛片免费视频| 91九色精品国产免费|