Heim > Java > JavaErste Schritte > Hauptteil

Wie erstelle ich eine einzigartige Sammlung in Java?

angryTom
Freigeben: 2020-02-03 10:23:26
Original
4271 Leute haben es durchsucht

Wie erstelle ich eine einzigartige Sammlung in Java?

Wie erstelle ich eine einzigartige Sammlung in Java?

Es gibt viele Möglichkeiten, einzigartige Sammlungen in Java zu erstellen. Im Folgenden stellen wir vier gängige Methoden zum Erstellen einzigartiger Sammlungen in Java vor.

Methode 1: Sie benötigen ein Array, um deduplizierte Elemente zu speichern, und dann durchläuft die äußere Ebene das ursprüngliche Array und den Inhalt Beurteilen Sie nacheinander, ob es mit den folgenden Elementen übereinstimmt, ziehen Sie es dann erneut heraus und speichern Sie es in einem neuen Array.

    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;  
    }
Nach dem Login kopieren

Methode 2: Sie müssen nur eine Sammlung erstellen, dann das Array durchlaufen und es einzeln in die Sammlung einfügen. Verwenden Sie einfach die Methode „contains()“, um zu bestimmen, ob das Element vorhanden ist ist bereits in der Sammlung vorhanden, bevor Sie sie einfügen. , und konvertieren Sie sie dann mit toArray in ein Array.

   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]);  
        }  
  
    }
Nach dem Login kopieren

Methode 3. Die einfachste Methode besteht darin, die ungeordneten und nicht wiederholbaren Merkmale der Set-Sammlung zum Filtern von Elementen zu verwenden.

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();  
    }
Nach dem Login kopieren

Methode 4. Hash-Satz der verknüpften Liste: in der richtigen Reihenfolge, keine Wiederholung.

 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);  
        }  
    }
Nach dem Login kopieren

(Weitergabe verwandter Video-Tutorials: Java-Video-Tutorial)

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine einzigartige Sammlung in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!