Rumah Java javaTutorial Analisis mendalam tentang lima kaedah praktikal untuk penyahduplikasian dalam tatasusunan Java

Analisis mendalam tentang lima kaedah praktikal untuk penyahduplikasian dalam tatasusunan Java

Dec 23, 2023 am 09:21 AM
tatasusunan java Alih keluar pendua Kaedah praktikal

Analisis mendalam tentang lima kaedah praktikal untuk penyahduplikasian dalam tatasusunan Java

Analisis mendalam tentang lima kaedah praktikal penyahduplikasi tatasusunan Java

Di Java, tatasusunan pemprosesan ialah operasi yang sangat biasa. Deduplikasi tatasusunan adalah masalah yang sering dihadapi dalam pembangunan sebenar. Artikel ini akan menyediakan analisis mendalam tentang lima kaedah praktikal untuk penyahduplikasi tatasusunan Java dan menyediakan contoh kod khusus.

1. Gunakan HashSet untuk membuang pendua
HashSet ialah koleksi dalam Java yang mempunyai fungsi penyahduplikasi automatik. Kita boleh menggunakan ciri-ciri HashSet untuk menambah elemen dalam tatasusunan kepada HashSet untuk mencapai kesan penyahduplikasian.

import java.util.HashSet;
import java.util.Arrays;

public class ArrayDuplicateRemoval {
    public static int[] removeDuplicates(int[] array){
        HashSet<Integer> set = new HashSet<>();
        for(int i=0;i<array.length;i++){
            set.add(array[i]);
        }
        int[] result = new int[set.size()];
        int index=0;
        for(Integer num:set){
            result[index++] = num;
        }
        return result;
    }
    public static void main(String[] args){
        int[] array = {1, 2, 3, 4, 4, 5, 5, 6};
        int[] result = removeDuplicates(array);
        System.out.println(Arrays.toString(result));
    }
}
Salin selepas log masuk

2. Gunakan LinkedHashSet untuk mengalih keluar pendua
LinkedHashSet ialah subkelas HashSet Selain mempunyai fungsi penyingkiran pendua, ia juga boleh mengekalkan susunan sisipan. Jika anda perlu mengekalkan susunan asal dan mengalih keluar elemen pendua, anda boleh menggunakan LinkedHashSet.

import java.util.LinkedHashSet;
import java.util.Arrays;

public class ArrayDuplicateRemoval {
    public static int[] removeDuplicates(int[] array){
        LinkedHashSet<Integer> set = new LinkedHashSet<>();
        for(int i=0;i<array.length;i++){
            set.add(array[i]);
        }
        int[] result = new int[set.size()];
        int index=0;
        for(Integer num:set){
            result[index++] = num;
        }
        return result;
    }
    public static void main(String[] args){
        int[] array = {1, 2, 3, 4, 4, 5, 5, 6};
        int[] result = removeDuplicates(array);
        System.out.println(Arrays.toString(result));
    }
}
Salin selepas log masuk

3. Gunakan TreeSet untuk mengalih keluar pendua
TreeSet ialah set tersusun, yang secara semula jadi menyusun elemen secara lalai. Menggunakan ciri deduplikasi TreeSet, anda boleh menambah elemen dalam tatasusunan pada TreeSet, dan kemudian menukar TreeSet menjadi tatasusunan untuk mencapai penyahduplikasian.

import java.util.TreeSet;
import java.util.Arrays;

public class ArrayDuplicateRemoval {
    public static int[] removeDuplicates(int[] array){
        TreeSet<Integer> set = new TreeSet<>();
        for(int i=0;i<array.length;i++){
            set.add(array[i]);
        }
        int[] result = new int[set.size()];
        int index=0;
        for(Integer num:set){
            result[index++] = num;
        }
        return result;
    }
    public static void main(String[] args){
        int[] array = {1, 2, 3, 4, 4, 5, 5, 6};
        int[] result = removeDuplicates(array);
        System.out.println(Arrays.toString(result));
    }
}
Salin selepas log masuk

4 Gunakan Stream API untuk mengalih keluar pendua
Stream API ialah API baharu yang diperkenalkan dalam Java 8, yang menyediakan cara operasi penstriman. Digabungkan dengan kaedah Strim yang berbeza, anda boleh mengalih keluar tatasusunan pendua dengan mudah.

import java.util.Arrays;
import java.util.stream.IntStream;

public class ArrayDuplicateRemoval {
    public static int[] removeDuplicates(int[] array){
        int[] result = IntStream.of(array).distinct().toArray();
        return result;
    }
    public static void main(String[] args){
        int[] array = {1, 2, 3, 4, 4, 5, 5, 6};
        int[] result = removeDuplicates(array);
        System.out.println(Arrays.toString(result));
    }
}
Salin selepas log masuk

5. Gunakan gelung berganda untuk mengalih keluar pendua
Kaedah terakhir ialah menggunakan gelung berganda untuk melintasi tatasusunan untuk menandakan dan mengalih keluar elemen pendua.

import java.util.Arrays;

public class ArrayDuplicateRemoval {
    public static int[] removeDuplicates(int[] array){
        int length = array.length;
        for(int i=0;i<length-1;i++){
            if(array[i]!=-1){
                for(int j=i+1;j<length;j++){
                    if(array[j]==array[i]){
                        array[j] = -1; // 标记为重复元素
                    }
                }
            }
        }
        int[] result = new int[length];
        int index = 0;
        for(int i=0;i<length;i++){
            if(array[i]!=-1){
                result[index++] = array[i];
            }
        }
        return Arrays.copyOf(result, index);
    }
    public static void main(String[] args){
        int[] array = {1, 2, 3, 4, 4, 5, 5, 6};
        int[] result = removeDuplicates(array);
        System.out.println(Arrays.toString(result));
    }
}
Salin selepas log masuk

Melalui pengenalan di atas, kami telah menerangkan secara terperinci lima kaedah praktikal penyahduplikasi tatasusunan Java dan menyediakan contoh kod khusus. Bergantung pada situasi dan keperluan sebenar, anda boleh memilih kaedah yang sesuai untuk menyelesaikan masalah penyahduplikasian tatasusunan. Saya harap artikel ini akan membantu anda dalam pembangunan sebenar!

Atas ialah kandungan terperinci Analisis mendalam tentang lima kaedah praktikal untuk penyahduplikasian dalam tatasusunan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Mendedahkan Lima Kaedah Deduplikasi Tatasusunan Java yang Cekap Mendedahkan Lima Kaedah Deduplikasi Tatasusunan Java yang Cekap Dec 23, 2023 pm 02:46 PM

Lima kaedah penduaan tatasusunan Java yang cekap didedahkan Dalam proses pembangunan Java, kita sering menghadapi situasi di mana kita perlu menyahduplikasi tatasusunan. Penyahduplikasian adalah untuk mengalih keluar elemen pendua dalam tatasusunan dan menyimpan hanya satu. Artikel ini akan memperkenalkan lima kaedah penyahduplikasi tatasusunan Java yang cekap dan menyediakan contoh kod khusus. Kaedah 1: Gunakan HashSet untuk menyahgandakan HashSet ialah koleksi tidak tertib, bukan pendua yang menyahduplikasi secara automatik apabila menambah elemen. Oleh itu, kita boleh menggunakan ciri-ciri HashSet untuk menyahduplikasi tatasusunan. awam

Mendedahkan kaedah penduaan data yang cekap dalam Pandas: Petua untuk mengalih keluar data pendua dengan cepat Mendedahkan kaedah penduaan data yang cekap dalam Pandas: Petua untuk mengalih keluar data pendua dengan cepat Jan 24, 2024 am 08:12 AM

Rahsia kaedah deduplikasi Pandas: cara yang cepat dan cekap untuk menyahduplikasi data, yang memerlukan contoh kod khusus Dalam proses analisis dan pemprosesan data, duplikasi dalam data sering ditemui. Data pendua mungkin mengelirukan keputusan analisis, jadi penduaan adalah langkah yang sangat penting. Pandas, pustaka pemprosesan data yang berkuasa, menyediakan pelbagai kaedah untuk mencapai penyahduplikasian data Artikel ini akan memperkenalkan beberapa kaedah penyahduplikasian yang biasa digunakan, dan melampirkan contoh kod tertentu. Kes penduaan yang paling biasa berdasarkan satu lajur adalah berdasarkan sama ada nilai lajur tertentu diduakan.

Cara biasa untuk menambah elemen pada tatasusunan Java Cara biasa untuk menambah elemen pada tatasusunan Java Feb 21, 2024 am 11:21 AM

Cara biasa untuk menambah elemen pada tatasusunan Java, contoh kod khusus diperlukan Dalam Java, tatasusunan ialah struktur data biasa yang boleh menyimpan berbilang elemen daripada jenis yang sama. Dalam pembangunan sebenar, kita sering perlu menambah elemen baharu pada tatasusunan. Artikel ini akan memperkenalkan kaedah biasa untuk menambah elemen pada tatasusunan dalam Java dan memberikan contoh kod khusus. Cara mudah untuk mencipta tatasusunan baharu menggunakan gelung ialah mencipta tatasusunan baharu, menyalin elemen tatasusunan lama ke dalam tatasusunan baharu dan menambah elemen baharu. Contoh kod adalah seperti berikut: //tatasusunan asal i

Bagaimana untuk mengoptimumkan prestasi pengisihan dan penyahduplikasian koleksi dalam pembangunan Java Bagaimana untuk mengoptimumkan prestasi pengisihan dan penyahduplikasian koleksi dalam pembangunan Java Jul 02, 2023 am 11:25 AM

Dalam pembangunan Java, pengisihan koleksi dan penyahduplikasian adalah keperluan biasa. Walau bagaimanapun, prestasi sering menjadi isu apabila berurusan dengan pengumpulan data yang besar. Artikel ini akan memperkenalkan beberapa teknik pengoptimuman untuk membantu meningkatkan prestasi pengisihan dan penyahduplikasian koleksi. 1. Gunakan struktur data yang sesuai Di Java, struktur data yang paling biasa digunakan ialah ArrayList dan HashSet. ArrayList sesuai untuk situasi di mana susunan elemen perlu dikekalkan, manakala HashSet sesuai untuk situasi di mana pertindihan perlu dihapuskan. Dalam senario pengisihan dan deduplikasi, kita boleh gunakan

Bagaimana untuk membuang pendua dalam perkataan Bagaimana untuk membuang pendua dalam perkataan Mar 20, 2024 pm 02:13 PM

Kadang-kadang apabila kita menggunakan perisian pejabat perkataan untuk mengendalikan dan mengedit fail, sesetengah kandungan diulang. Mudah untuk mencari pendua dalam hamparan Excel, tetapi adakah anda akan menemui pendua dalam dokumen perkataan? Di bawah, kami akan berkongsi cara untuk mengalih keluar pendua dalam word, supaya anda boleh mencari kandungan pendua dengan cepat dan melakukan operasi penyuntingan. Mula-mula, buka dokumen Word baharu dan masukkan beberapa kandungan dalam dokumen tersebut. Pertimbangkan untuk memasukkan beberapa bahagian berulang untuk membantu menunjukkan operasi. 2. Untuk mencari kandungan pendua, kita perlu mengklik alat [Start]-[Search] dalam bar menu, pilih [Advanced Search] dalam menu drop-down, dan klik

Apakah kaedah untuk membuang pendua dalam panda? Apakah kaedah untuk membuang pendua dalam panda? Nov 22, 2023 am 11:55 AM

Kaedah deduplikasi panda ialah: 1. Gunakan kaedah drop_duplicates() 2. Gunakan kaedah pendua() 3. Gunakan kaedah unique() 4. Gunakan kaedah value_counts(). Pengenalan terperinci: 1. Gunakan kaedah drop_duplicates() untuk memadamkan baris pendua dalam bingkai data dan mengembalikan bingkai data baharu Ia boleh menetapkan parameter untuk mengawal cara melakukan penyahduplikasian, seperti menentukan susunan pengekalan dan penyahduplikasian selepas perbandingan masa lajur dan sebagainya.

Bagaimana untuk melaksanakan operasi penyahduplikasian selepas tatasusunan PHP dikocok? Bagaimana untuk melaksanakan operasi penyahduplikasian selepas tatasusunan PHP dikocok? May 02, 2024 pm 01:33 PM

Dalam PHP, anda boleh menggunakan langkah berikut untuk mengganggu susunan tatasusunan dan kemudian melakukan operasi penyahduplikasian: Gunakan fungsi shuffle() untuk mengganggu susunan tatasusunan. Gunakan fungsi array_unique() untuk menyahduplikasi tatasusunan dan mengalih keluar elemen pendua.

Bagaimana untuk mencapai penyahduplikasian data dalam tatasusunan PHP? Bagaimana untuk mencapai penyahduplikasian data dalam tatasusunan PHP? Apr 26, 2024 pm 06:51 PM

Tiga cara untuk menyahduplikasi tatasusunan PHP: Gunakan fungsi array_unique() untuk mengalih keluar nilai pendua berdasarkan nilai elemen dan mengekalkan susunan nilai utama. Gunakan fungsi array_filter() untuk mengalih keluar elemen pendua berdasarkan syarat fungsi panggil balik. Gunakan kelas SplObjectStorage untuk memanfaatkan keunikan objek untuk mencapai penyahduplikasi tatasusunan dan mengekalkan perkaitan nilai kunci.

See all articles