Rumah  >  Artikel  >  Java  >  Generik Koleksi Java

Generik Koleksi Java

WBOY
WBOYasal
2024-08-30 15:47:22321semak imbas

Generik koleksi Java digunakan untuk menambah cara dalam jenis konkrit yang ditentukan, dan ia adalah tujuan umum kelas dan kaedah yang mengendalikan objek untuk melaksanakan dan mengabstrakkannya supaya ia akan melihat beberapa yang lebih biasa digunakan dalam koleksi. Generik Java dengan kelas lain dan bukannya kelas koleksi adalah cara paling mudah untuk menunjukkan asas generik Java. Namun, ini adalah cara terpantas untuk menunjukkan asas generik Java dengan merujuk dan menyahrujuk. Ia menggunakan tetapan untuk jenis generik Koleksi dan kelas lain seperti HashSet, HashMap, dll.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Gambaran Umum Generik Koleksi Java

Generik Java lebih penting untuk mencipta jenis dan kaedahnya; ia mula-mula melaksanakan pemutus dan kemudian menggunakan tatasusunan jenis data seperti Integer, String, aksara atau mana-mana tatasusunan lain yang menyokong pesanan dalam data pengguna. Pengaturcara Java menggunakan kaedah generik dan kelas generik untuk membenarkan dan mengisytiharkan sekumpulan kaedah berkaitan dengan jenis tertentu dalam satu pengisytiharan kaedah menggunakan pengisytiharan kelas, masing-masing. Kelas Generik juga menyediakan keselamatan pada masa binaan tertentu, membenarkan pengaturcara menangkap jenis yang salah dengan transformasi tertentu. Selain itu, kita boleh membina kaedah generik untuk mengisih tatasusunan objek menggunakan idea Generik Java dan bukannya kaedah generik menggunakan tatasusunan Integer, Tatasusunan Berganda, Tatasusunan Rentetan dan penapis jenis data lain, dan seterusnya untuk mengisih kandungan tatasusunan.

Penggunaan Koleksi Generik dalam Java

Dalam bahasa pengaturcaraan Java, koleksi generik adalah yang paling penting, membenarkan penciptaan objek bagi satu jenis menggunakan keselamatan Jenis. Jika jenisnya ialah Type safety, ini bermakna pengkompil akan mengesahkan jenis tertentu semasa menggunakan masa penyusunan, walaupun ia akan membuang ralat jika nilai jenis tidak disokong. Jika andaikan kami menggunakan Jenis Casting, bermakna ia tidak perlu menghantar jenis seperti String, Integer, double, dll. Tetapi kebanyakannya, generik tidak diperlukan untuk operasi ini semasa kami melakukan dalam aplikasi. Sebelum generik, kita boleh menyimpan sebarang objek dengan koleksi yang ditentukan yang mungkin mana-mana jenis seperti kedua-dua generik dan bukan generik kini generik akan menguatkuasakan pengekod java untuk melaksanakan penciptaan objek dan operasinya seperti menyimpan dan mendapatkan semula nilai daripada hujung belakang ke hujung hadapan. Jika kita melumpuhkan koleksi generik, maka kita harus menggunakan taip untuk mencapai hasil yang diingini dan tiada keperluan untuk taip dalam konteks generik.

Koleksi generik mempunyai beberapa kaedah lalai untuk mencapai kefungsian yang mengambil tatasusunan objek dan koleksi untuk meletakkan dan mendapatkan data daripada semua objek dalam koleksi tatasusunan. Seperti dalam MapK, V>, antara muka Peta generik (dan pelaksanaan peta) ditakrifkan dengan dua jenis parameter. Setiap jenis kunci ialah K dan jenis nilai yang berkaitan dengan kunci ialah V. Jadi, kami akan mengisytiharkan MapString, Integer> untuk menyimpan peta yang menunjukkan kekerapan setiap perkataan muncul dalam fail teks. Kami akan membuat MapString, ListInteger>> jika kami memerlukan peta yang mentakrifkan baris di mana setiap perkataan muncul dalam fail teks. Perlu diingat bahawa kita boleh menggabungkan (atau melapis) instantiasi jenis generik.

Kelebihan Java Generics

Ini telah menjadi lawatan pantas ciri-ciri paling penting generik Java. "Paling penting" dalam konteks ini merujuk kepada "lebih penting jika dibandingkan dengan semua pengaturcara bahasa lain yang menggunakan generik." Tetapi matlamat utama adalah untuk mempunyai pengetahuan yang mencukupi tentang generik untuk menggunakan generik yang ditulis oleh program lain. Dengan kata lain; kita mesti memahami generik dengan cukup baik untuk membuat pengkompil menerima program kita tanpa amaran atau ralat. Jika Java menerima program kami, mekanisme generik harus memastikan jenis keselamatannya.

Keselamatan jenis adalah salah satu kelebihan, dan ia hanya boleh menyimpan satu jenis objek. Ia tidak membenarkan penyimpanan barang lain. Kami boleh menyimpan sebarang objek tanpa Generik.

Adalah tidak perlu menggunakan taip apabila objek tidak perlu taip.

Sebelum itu kita boleh menggunakan Generik, kita mesti menaip nilai dahulu, dan kemudian ia harus melaksanakan Generik.

Pemeriksaan Masa Kompilasi memastikan bahawa isu tidak timbul pada masa jalan. Menurut pendekatan pengaturcaraan yang sangat baik, adalah lebih baik untuk menangani masalah pada masa penyusunan daripada pada masa jalan.

Contoh #1

Kod:

import java.util.*;
class TestGenerics1{
public static void main(String args[]){
ArrayList<String> lst=new ArrayList<String>();
lst.add("January is the first month ");
lst.add("February is the second month");
lst.add("March is the third month");
lst.add("April is the fourth month");
lst.add("May is the fifth month");
lst.add("June is the sixth month ");
lst.add("July is the seventh month");
lst.add("August is the eigth month");
lst.add("September is the ninth month");
lst.add("October is the tenth month");
lst.add("November is the eleventh month");
lst.add("December is the twelth month");
String str=lst.get(7);
System.out.println("Welcome To My Domain its the first example: "+str);
Iterator<String> iterators=lst.iterator();
while(iterators.hasNext()){
System.out.println(iterators.next());
}
}
}

Output:

Generik Koleksi Java

In the above example, we used Array List collection classes in the generics. With the help of add() method we can add n number of input values and get() method to retrieve the values.

Example #2

Code:

import java.util.*;
class TestGenerics1{
public static void main(String args[]){
Map<Integer,String> first=new HashMap<Integer,String>();
first.put(1,"Tv is the electronic device");
first.put(2,"Laptop is the electronic device");
first.put(3,"Computer is the electronic device");
first.put(4,"Mobile is the electronic device");
first.put(5,"Tablet is the electronic device");
Set<Map.Entry<Integer,String>> second=first.entrySet();
Iterator<Map.Entry<Integer,String>> iterators=second.iterator();
while(iterators.hasNext()){
Map.Entry<Integer, String>result=iterators.next();
System.out.println(result.getKey()+" "+result.getValue());
}
}}

Output:

Generik Koleksi Java

In the above example, we used generic collections by using the Map interface. It contains some default and customized methods for achieving the operations. With the help of iterators, the values are listed on the loop.

Conclusion

Generally, it makes the programmer’s job easier and less error-prone when we use Java Generics. It’s a powerful addition to the Java language. It provides any correctness at compile time and, more crucially, implements generic algorithms without adding overhead to the Java programmers compared to the other language.

Atas ialah kandungan terperinci Generik Koleksi Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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
Artikel sebelumnya:Java Collections terbalikArtikel seterusnya:Java Collections terbalik