Rumah > Java > javaTutorial > teks badan

Dapatkan nilai unik daripada ArrayList di Java

WBOY
Lepaskan: 2023-09-04 08:41:07
ke hadapan
739 orang telah melayarinya

Dapatkan nilai unik daripada ArrayList di Java

ArrayList ialah kelas Rangka Kerja Koleksi Java yang melaksanakan Antara Muka Senarai Ia adalah a struktur linear yang menyimpan dan mengakses setiap elemen secara berurutan Ia membolehkan penyimpanan daripada elemen pendua bagaimanapun, terdapat beberapa pendekatan yang boleh membantu untuk menjadi unik nilai daripada ArrayList Dalam artikel ini, kita akan melihat pelaksanaan praktikal Salah satu caranya ialah melalui program sampel Java.

Program Java untuk mendapatkan Nilai Unik daripada ArrayList

Sebelum melompat ke program penyelesaian untuk masalah yang diberikan, mari kita bincangkan perkara berikut Konsep Antara Muka Koleksi−

HashSet

Ia ialah kelas antara muka Koleksi Java dan melaksanakan antara muka yang ditetapkan. ia serupa dengan ke dalam koleksi matematik. Antaranya, semua elemen disimpan dalam cara yang disusun untuk mengurangkan masa perolehan dan juga, ia tidak membenarkan nilai pendua Ini adalah sebab untuk menggunakan HashSet untuk menapis pendua dan untuk mendapatkan nilai unik daripada senarai.

Tatabahasa

HashSet< Type >nameOfSet = new HashSet<>();
Salin selepas log masuk

Di sini, Type ialah objek kelas pembalut, bukan jenis data primitif.

Sintaks untuk ArrayList

ArrayList<Type> nameOflist = new ArrayList< Type >();
Salin selepas log masuk

Pendekatan 1

  • Buat objek ArrayList jenis Integer dan simpan beberapa elemen padanya dengan menggunakan kaedah terbina dalam bernama 'add()' Kaedah ini mengambil hujah dan menambahkannya pada senarai yang ditentukan.

  • Sekarang, buat HashSet daripada jenis yang sama dan simpan semua kandungan elemen sebelumnya

  • Tambahkan ArrayList padanya menggunakan kaedah terbina dalam 'addAll()'. Kaedah ini menerima ArrayList sebagai hujah dan menambah semua elemennya pada senarai baru yang ditentukan.

  • Akhir sekali, cetak nilai dengan memanggil senarai.

Contoh

Contoh berikut menunjukkan cara mendapatkan nilai unik daripada ArrayList menggunakan kelas HashSet.

import java.util.*;
public class Unique {
   public static void main(String[] args) {
      // Creating arraylist
      ArrayList<Integer> araylist = new ArrayList<Integer>();
      
      // Adding elements in arraylist
      araylist.add(8);
      araylist.add(5);
      araylist.add(2);
      araylist.add(9);
      araylist.add(2);
      araylist.add(4);
      araylist.add(9);
      araylist.add(7);
      System.out.println("List with duplicate elements: ");
      
      // loop to iterate through elements
      for(int i = 0; i < araylist.size(); i++ ) {
         // to print the elements in the list
         System.out.println(araylist.get(i));
      }
      HashSet<Integer> set = new HashSet<>(); // creating hashset
      set.addAll(araylist); // adding all elements to set
      System.out.println("List with unique elements: " + set);
   }
}     
Salin selepas log masuk

Output

List with duplicate elements:
8
5
2
9
2
4
9
7
List with unique elements: [2, 4, 5, 7, 8, 9]
Salin selepas log masuk

Pendekatan 2

  • Buat objek ArrayList jenis Integer dan simpan beberapa elemen padanya dengan menggunakan kaedah terbina dalam bernama 'add()' Kaedah ini mengambil hujah dan menambahkannya pada senarai yang ditentukan.

  • Sekarang, buat objek ArrayList lain daripada jenis yang sama.

  • Tentukan gelung for yang akan berulang sehingga saiz ArrayList Di dalam gelung ini, ambil jika Blok kod yang menyemak sama ada nilai pada indeks 'i' adalah unik. jika ia adalah satu-satunya Nilai itu kemudiannya ditambahkan pada ArrayList baharu, jika tidak, ia akan dibuang.

  • Pada penghujungnya, cetak nilai dengan memanggil senarai.

Contoh

Ini adalah satu lagi contoh di mana kami akan cuba mendapatkan nilai unik daripada ArrayList.

import java.util.*;
public class Unique {
   public static void main(String[] args) {
      // Creating arraylist
      ArrayList<Integer> araylist1 = new ArrayList<Integer>();
      // Adding elements in arraylist
      araylist1.add(8);
      araylist1.add(5);
      araylist1.add(2);
      araylist1.add(9);
      araylist1.add(2);
      araylist1.add(4);
      araylist1.add(9);
      araylist1.add(7);
      System.out.println("List with duplicate elements: " + araylist1);
      ArrayList<Integer>araylist2 = new ArrayList<Integer>();
      for(int i = 0; i < araylist1.size(); i++ ) {
         int elem;
         // to filter the duplicate elements
         if(!araylist2.contains(araylist1.get(i))) {
            // storing unique elements to elem and adding to new list
            elem = araylist1.get(i);
            araylist2.add(elem);
         }
      }
      System.out.println("List with unique elements: " + araylist2);
   }
}
Salin selepas log masuk

Output

List with duplicate elements: [8, 5, 2, 9, 2, 4, 9, 7]
List with unique elements: [8, 5, 2, 9, 4, 7]
Salin selepas log masuk

Kesimpulan

Kami memulakan artikel ini dengan mentakrifkan ArrayList dan dalam bahagian seterusnya kami memahami penggunaan HashSet dalam mencari nilai unik daripada senarai Kami membincangkan dua pendekatan untuk mendapatkan nilai unik daripada ArrayList, pertama menggunakan kelas HashSet dan. kedua tanpa menggunakan ini Terjemahan bahasa Cina bagi kelas

ialah: kelas

Atas ialah kandungan terperinci Dapatkan nilai unik daripada ArrayList di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!