Rumah Java javaTutorial Mendedahkan Lima Kaedah Deduplikasi Tatasusunan Java yang Cekap

Mendedahkan Lima Kaedah Deduplikasi Tatasusunan Java yang Cekap

Dec 23, 2023 pm 02:46 PM
Cekap tatasusunan java Kaedah deduplikasi

Mendedahkan Lima Kaedah Deduplikasi Tatasusunan Java yang Cekap

Lima kaedah penduaan tatasusunan Java yang cekap didedahkan

Semasa proses pembangunan Java, kami sering menghadapi situasi di mana kami 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 mengalih keluar pendua

HashSet ialah koleksi tidak tertib, bukan pendua yang akan mengalih keluar pendua secara automatik apabila menambah elemen. Oleh itu, kita boleh menggunakan ciri-ciri HashSet untuk menyahduplikasi tatasusunan.

public static int[] removeDuplicates(int[] arr) {
    Set<Integer> set = new HashSet<>();
    for (int i = 0; i < arr.length; i++) {
        set.add(arr[i]);
    }
    int[] result = new int[set.size()];
    int index = 0;
    for (int num : set) {
        result[index++] = num;
    }
    return result;
}
Salin selepas log masuk

Kaedah 2: Gunakan LinkedHashSet untuk mengekalkan susunan elemen tanpa pendua

LinkedHashSet ialah set bukan pendua tertib, yang akan diisih mengikut susunan sisipan elemen. Dengan menggunakan LinkedHashSet anda boleh mengalih keluar pendua dan mengekalkan susunan elemen.

public static int[] removeDuplicates(int[] arr) {
    Set<Integer> set = new LinkedHashSet<>();
    for (int i = 0; i < arr.length; i++) {
        set.add(arr[i]);
    }
    int[] result = new int[set.size()];
    int index = 0;
    for (int num : set) {
        result[index++] = num;
    }
    return result;
}
Salin selepas log masuk

Kaedah 3: Gunakan API Strim untuk menyahduplikasi tatasusunan

Java 8 memperkenalkan API Strim, yang boleh menukar tatasusunan kepada strim melalui kaedah stream() dan kemudian melaksanakan penyahduplikasian melalui kaedah distinct().

import java.util.Arrays;
import java.util.stream.Collectors;

public static int[] removeDuplicates(int[] arr) {
    return Arrays.stream(arr).distinct().toArray();
}
Salin selepas log masuk

Kaedah 4: Gunakan TreeSet untuk mengisih dan penyahduplikasi

TreeSet ialah set bukan pendua tertib yang menyusun elemen mengikut susunan semula jadinya. Tatasusunan boleh dinyahduplikasi dan diisih dengan menggunakan TreeSet.

public static int[] removeDuplicates(int[] arr) {
    Set<Integer> set = new TreeSet<>();
    for (int i = 0; i < arr.length; i++) {
        set.add(arr[i]);
    }
    int[] result = new int[set.size()];
    int index = 0;
    for (int num : set) {
        result[index++] = num;
    }
    return result;
}
Salin selepas log masuk

Kaedah 5: Gunakan BitSet untuk penyahduplikasian

BitSet ialah koleksi yang digunakan untuk menyimpan nilai bit dan juga boleh digunakan untuk penyahduplikasian. Kita boleh mengalih keluar elemen pendua dengan menetapkan nilai bit yang sepadan kepada benar.

public static int[] removeDuplicates(int[] arr) {
    BitSet bitSet = new BitSet();
    for (int num : arr) {
        bitSet.set(num);
    }
    int[] result = new int[bitSet.cardinality()];
    int index = 0;
    for (int i = bitSet.nextSetBit(0); i >= 0; i = bitSet.nextSetBit(i + 1)) {
        result[index++] = i;
    }
    return result;
}
Salin selepas log masuk

Di atas ialah lima kaedah penyahduplikasi tatasusunan Java yang cekap. Memilih kaedah yang sesuai mengikut situasi sebenar boleh memproses tatasusunan dengan lebih cekap semasa proses penyahduplikasian. Saya harap artikel ini akan membantu masalah deduplikasi tatasusunan anda dalam pembangunan Java!

Atas ialah kandungan terperinci Mendedahkan Lima Kaedah Deduplikasi Tatasusunan Java yang Cekap. 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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 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)

Ciri dan Kelebihan Bahasa C: Mengapakah ia merupakan salah satu bahasa pengaturcaraan yang paling popular? Ciri dan Kelebihan Bahasa C: Mengapakah ia merupakan salah satu bahasa pengaturcaraan yang paling popular? Feb 23, 2024 am 08:39 AM

Ciri dan Kelebihan Bahasa C: Mengapakah ia merupakan salah satu bahasa pengaturcaraan yang paling popular? Sebagai bahasa pengaturcaraan peringkat tinggi tujuan umum, bahasa C mempunyai banyak ciri dan kelebihan unik, itulah sebabnya ia telah menjadi salah satu bahasa pengaturcaraan yang paling popular. Artikel ini akan meneroka ciri dan kelebihan bahasa C, serta aplikasinya yang meluas dalam pelbagai bidang. Pertama sekali, bahasa C mempunyai sintaks yang ringkas dan struktur yang jelas. Berbanding dengan bahasa pengaturcaraan lain, sintaks bahasa C agak mudah dan mudah difahami dan dipelajari. Ia menggunakan ciri-ciri bahasa semula jadi untuk membolehkan pengaturcara

Ruang pemacu C kehabisan! 5 kaedah pembersihan yang cekap didedahkan! Ruang pemacu C kehabisan! 5 kaedah pembersihan yang cekap didedahkan! Mar 26, 2024 am 08:51 AM

Ruang pemacu C kehabisan! 5 kaedah pembersihan yang cekap didedahkan! Dalam proses menggunakan komputer, ramai pengguna akan menghadapi situasi di mana ruang pemacu C kehabisan terutamanya selepas menyimpan atau memasang sejumlah besar fail, ruang pemacu C yang tersedia akan berkurangan dengan cepat, yang akan menjejaskan prestasi dan. kelajuan komputer berjalan. Pada masa ini, sangat perlu untuk membersihkan pemacu C. Jadi, bagaimana untuk membersihkan pemacu C dengan cekap? Seterusnya, artikel ini akan mendedahkan 5 kaedah pembersihan yang cekap untuk membantu anda menyelesaikan masalah kekurangan ruang pemacu C dengan mudah. 1. Bersihkan fail sementara ialah fail sementara yang dijana semasa komputer sedang berjalan.

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

Membandingkan kos pembelajaran Python dan C++: Mana satu yang lebih bernilai pelaburan? Membandingkan kos pembelajaran Python dan C++: Mana satu yang lebih bernilai pelaburan? Mar 25, 2024 pm 10:24 PM

Python dan C++ ialah dua bahasa pengaturcaraan yang popular, masing-masing mempunyai kelebihan dan kekurangannya sendiri. Bagi orang yang ingin belajar pengaturcaraan, memilih untuk belajar Python atau C++ selalunya merupakan keputusan penting. Artikel ini akan meneroka kos pembelajaran Python dan C++ dan membincangkan bahasa yang lebih sesuai untuk masa dan usaha. Mula-mula, mari kita mulakan dengan Python. Python ialah bahasa pengaturcaraan peringkat tinggi yang ditafsirkan yang terkenal dengan kemudahan pembelajaran, kod yang jelas dan sintaks yang ringkas. Berbanding dengan C++, Python

Panduan penukaran amalan pengekodan golang yang cekap Panduan penukaran amalan pengekodan golang yang cekap Feb 20, 2024 am 11:09 AM

Tajuk: Panduan Amalan Cekap untuk Penukaran Pengekodan Bahasa Go Dalam pembangunan perisian harian, kita sering menghadapi keperluan untuk menukar teks dalam pengekodan yang berbeza. Sebagai bahasa pengaturcaraan yang cekap dan moden, bahasa Go menyediakan perpustakaan standard yang kaya dan fungsi terbina dalam, menjadikannya sangat mudah dan cekap untuk melaksanakan penukaran pengekodan teks. Artikel ini akan memperkenalkan garis panduan praktikal tentang cara melakukan penukaran pengekodan dalam bahasa Go dan memberikan contoh kod khusus. 1.Pengekodan UTF-8 dan penukaran rentetan Dalam bahasa Go, rentetan menggunakan pengekodan UTF-8 secara lalai

Pemahaman mendalam tentang fungsi dan ciri bahasa Go Pemahaman mendalam tentang fungsi dan ciri bahasa Go Mar 21, 2024 pm 05:42 PM

Fungsi dan ciri bahasa Go bahasa Go, juga dikenali sebagai Golang, ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google Ia pada asalnya direka untuk meningkatkan kecekapan dan kebolehselenggaraan pengaturcaraan. Sejak kelahirannya, bahasa Go telah menunjukkan daya tarikan uniknya dalam bidang pengaturcaraan dan telah mendapat perhatian dan pengiktirafan yang meluas. Artikel ini akan menyelidiki fungsi dan ciri bahasa Go dan menunjukkan kuasanya melalui contoh kod tertentu. Sokongan serentak asli Bahasa Go sememangnya menyokong pengaturcaraan serentak, yang dilaksanakan melalui mekanisme goroutine dan saluran.

Tafsiran ciri baharu bahasa Go: menjadikan pengaturcaraan lebih cekap Tafsiran ciri baharu bahasa Go: menjadikan pengaturcaraan lebih cekap Mar 10, 2024 pm 12:27 PM

[Tafsiran ciri baharu bahasa Go: Untuk menjadikan pengaturcaraan lebih cekap, contoh kod khusus diperlukan] Dalam beberapa tahun kebelakangan ini, bahasa Go telah menarik banyak perhatian dalam bidang pembangunan perisian, dan konsep reka bentuknya yang ringkas dan cekap telah menarik lebih banyak lagi. pemaju. Sebagai bahasa pengaturcaraan yang ditaip secara statik, bahasa Go terus memperkenalkan ciri baharu untuk meningkatkan kecekapan pembangunan dan memudahkan proses penulisan kod. Artikel ini akan memberikan penjelasan mendalam tentang ciri terbaharu bahasa Go dan membincangkan cara merasai kemudahan yang dibawa oleh ciri baharu ini melalui contoh kod tertentu. Pembangunan modular (GoModules) Bahasa Go daripada 1

Perlombongan mendalam: menggunakan bahasa Go untuk membina perangkak yang cekap Perlombongan mendalam: menggunakan bahasa Go untuk membina perangkak yang cekap Jan 30, 2024 am 09:17 AM

Penerokaan mendalam: Menggunakan bahasa Go untuk pembangunan perangkak yang cekap Pengenalan: Dengan perkembangan pesat Internet, mendapatkan maklumat menjadi lebih mudah. Sebagai alat untuk mendapatkan data tapak web secara automatik, perangkak telah menarik perhatian dan perhatian yang semakin meningkat. Di antara banyak bahasa pengaturcaraan, bahasa Go telah menjadi bahasa pembangunan perangkak pilihan bagi kebanyakan pembangun kerana kelebihannya seperti konkurensi yang tinggi dan prestasi yang berkuasa. Artikel ini akan meneroka penggunaan bahasa Go untuk pembangunan perangkak yang cekap dan memberikan contoh kod khusus. 1. Kelebihan pembangunan perangkak bahasa Go: Keselarasan tinggi: Bahasa Go

See all articles