站長資訊網
        最全最豐富的資訊網站

        java怎么創建不重復的集合?

        java怎么創建不重復的集合?

        java怎么創建不重復的集合?

        java中創建不重復的集合有多種方法,下面我們介紹Java中創建不重復集合的四種常用方法。

        方法一、需要一個存儲去重后元素的數組,然后兩層循環,外層遍歷原數組,內容逐個判斷是否和之后的元素重復,然后再提出來存入新的數組。

            public static Object[] ifRepeat(Object[] arr){           //用來記錄去除重復之后的數組長度和給臨時數組作為下標索引           int t = 0;           //臨時數組           Object[] tempArr = new Object[arr.length];           //遍歷原數組           for(int i = 0; i < arr.length; i++){               //聲明一個標記,并每次重置               boolean isTrue = true;               //內層循環將原數組的元素逐個對比               for(int j=i+1;j<arr.length;j++){                   //如果發現有重復元素,改變標記狀態并結束當次內層循環                   if(arr[i]==arr[j]){                       isTrue = false;                       break;                   }               }               //判斷標記是否被改變,如果沒被改變就是沒有重復元素               if(isTrue){                   //沒有元素就將原數組的元素賦給臨時數組                   tempArr[t] = arr[i];                   //走到這里證明當前元素沒有重復,那么記錄自增                   t++;               }           }           //聲明需要返回的數組,這個才是去重后的數組           Object[]  newArr = new Object[t];           //用arraycopy方法將剛才去重的數組拷貝到新數組并返回           System.arraycopy(tempArr,0,newArr,0,t);           return newArr;       }

        方法二、只需要創建一個集合,然后遍歷數組逐一放入集合,只要在放入之前用contains()方法判斷一下集合中是否已經存在這個元素就行了,然后用toArray轉成數組。

           public static void ifRepeat2(Object[] arr){           //創建一個集合           List list = new ArrayList();           //遍歷數組往集合里存元素           for(int i=0;i<arr.length;i++){               //如果集合里面沒有相同的元素才往里存               if(!list.contains(arr[i])){                   list.add(arr[i]);               }           }                      //toArray()方法會返回一個包含集合所有元素的Object類型數組           Object[] newArr = list.toArray();           //遍歷輸出一下測試是否有效           for(int i=0;i<newArr.length;i++){               System.out.println(" "+newArr[i]);           }          }

        方法三、最簡單的方法就是利用Set集合無序不可重復的特性進行元素過濾。

        public static Object[] ifRepeat3(Object[] arr){           //實例化一個set集合           Set set = new HashSet();           //遍歷數組并存入集合,如果元素已存在則不會重復存入           for (int i = 0; i < arr.length; i++) {               set.add(arr[i]);           }           //返回Set集合的數組形式           return set.toArray();       }

        方法四、鏈表的哈希集合:有順序,不重復。

         public static void ifRepeat4(Object[] arr){                      LinkedHashSet<Object> haoma = new LinkedHashSet<Object>();           for (int i = 0; i < arr.length; i++) {               haoma.add(arr[i]);           }                      // 創建迭代器           Iterator<Object> iterator = haoma.iterator();           int a = 0;           // 迭代集合           while (iterator.hasNext()) { // true               Object c = iterator.next();                              System.out.println(c);           }       }

        (相關視頻教程分享:java視頻教程)

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲2022国产成人精品无码区 | 亚洲精品国产电影| 国产国产精品人在线观看| 老司机午夜网站国内精品久久久久久久久| 99久久99这里只有免费的精品| 亚洲国产精品无码久久| 久久国产乱子伦精品免费午夜| 91精品观看91久久久久久| 高清在线亚洲精品国产二区| 久久这里只有精品18| 亚洲国产精品无码久久久蜜芽 | 热久久国产精品| 国产精品免费福利久久| 老司机午夜精品视频资源| 精品国产午夜理论片不卡| 日本精品一区二区三区在线视频| 中文字幕亚洲精品| 久久精品www| 国产精品久久久久影院色| 国产精品9999久久久久| 精品国偷自产在线| 精品欧洲av无码一区二区三区| 久久精品亚洲一区二区三区浴池 | 久久精品国产久精国产思思| 野狼第一精品社区| 亚洲国产精品综合久久一线| 无码人妻精品一区二区三区99不卡 | 国产成人精品免费大全| 青青草国产精品久久| 四虎国产精品永久地址99| 久久精品国产亚洲一区二区| 国产精品电影在线观看| 91精品国产综合久久精品| 国产精品免费高清在线观看| 国产91精品在线观看| 国产精品一级香蕉一区| 四虎在线精品视频一二区| 亚洲国产综合精品中文第一区| 亚洲精品一二区| 精品97国产免费人成视频| 久久综合精品国产一区二区三区|