Kebanyakan bahasa pengaturcaraan menggunakan array untuk menyimpan satu set data jenis yang sama. Satu kelemahan utama array ialah, apabila saiz array diisytiharkan, ia tidak dapat diubah suai. Sekiranya pengaturcara ingin menyimpan nilai melebihi saiz array, maka dia harus membuat array baru dan menyalin unsur -unsur yang ada pada array baru. Dalam situasi ini, koleksi boleh digunakan. Adalah mungkin untuk menambah elemen, memadam elemen dan banyak operasi lain dengan sokongan koleksi. Terdapat pelbagai jenis koleksi yang terdapat dalam bahasa pengaturcaraan seperti Java. Senarai dan set adalah antara muka hierarki koleksi. Antara muka asas untuk antara muka lain adalah koleksi. The Perbezaan utama antara senarai dan set ialah Senarai menyokong menyimpan elemen yang sama beberapa kali sementara set tidak menyokong menyimpan elemen yang sama beberapa kali. Oleh itu, satu set tidak membenarkan pertindihan.
1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa itu senarai
3. Apa yang ditetapkan
4. Persamaan antara senarai dan set
5. Perbandingan sampingan - Senarai vs ditetapkan dalam bentuk jadual
6. Ringkasan
Senarai ini adalah antara muka yang memanjangkan antara muka koleksi. Terdapat beberapa kaedah dalam antara muka koleksi. Kaedah Tambah membantu menambah elemen. 'Kaedah keluarkan' adalah untuk membuang elemen. Terdapat 'kaedah addall' untuk menambah pelbagai elemen sementara 'metode penyingkiran' untuk mengeluarkan unsur -unsur dari koleksi. Kaedah yang mengandungi membantu mencari sama ada objek tertentu ada dalam senarai atau tidak. 'Containsall' adalah untuk mencari sama ada satu set objek hadir dalam koleksi. Kaedah iterator digunakan untuk gelung melalui item senarai. Apabila senarai memanjangkan koleksi, semua kaedah koleksi tergolong dalam senarai. Selain daripada kaedah tersebut, senarai mempunyai kaedah seperti GET dan SET. Pengaturcara boleh mendapatkan nilai pada indeks tertentu menggunakan kaedah GET. Pengaturcara boleh menetapkan nilai pada indeks tertentu menggunakan kaedah set. 'Indexof' digunakan untuk mencari indeks elemen.
Dalam senarai, operasi boleh dilakukan mengikut kedudukan. Pengaturcara dapat memberikan elemen data yang akan ditambah ke indeks. Oleh itu, ia akan ditambah ke indeks tertentu. Sekiranya pengaturcara tidak memberikan indeks, elemen akan ditambah ke akhir senarai. Ia juga mengekalkan urutan yang dimasukkan. Jika elemen 1 ditambah dan kemudian elemen2 ditambah, maka elemen1 akan sebelum elemen2.
Rajah 01: Senarai dan tetapkan
ArrayList, LinkedList, Vektor adalah beberapa kelas yang melaksanakan senarai. Dalam arraylist, mengakses elemen cepat tetapi memasukkan dan memadam lebih rendah. ArrayList bukan benang selamat. Mengakses arraylist yang sama dari pelbagai benang mungkin tidak memberikan hasil yang sama. Dalam senarai LinkedL, unsur -unsur dikaitkan dengan kedua -dua mundur dan ke hadapan. Memasukkan dan Menghapus Elemen Menggunakan LinkedList lebih cepat daripada ArrayList. Senarai LinkedList yang mengikat dan beratur kedua -duanya. Vektor serupa dengan ArrayList, tetapi ia adalah Tread-Safe kerana semua kaedah disegerakkan.
Tetapkan adalah antara muka yang memanjangkan antara muka koleksi. Seperti yang ditetapkan antara muka, semua kaedah pengumpulan juga dimiliki oleh set. Satu set tidak menyokong nilai duplikasi. Oleh itu, pengaturcara tidak dapat menyimpan elemen yang sama dua kali. Ia mengekalkan satu set elemen yang unik. Antara muka sortset memanjangkan antara muka. SortedSet mengekalkan unsur -unsur dalam urutan yang disusun. Antara muka navigableset memanjangkan sortset. Navigableset menyediakan kaedah navigasi seperti lebih rendah, lantai, siling dll.
Hashset, LinkedHashset, dan TreeSet adalah beberapa kelas yang melaksanakan antara muka yang ditetapkan. The HASHSET melaksanakan antara muka. Ia tidak mengekalkan urutan yang dimasukkan. Jika nilai dimasukkan sebagai A, x, B ia mungkin menyimpan sebagai, x, a, b. The LinkedSet mengekalkan pesanan yang dimasukkan. Jika unsur -unsur dimasukkan dalam perintah A, X, B, pesanan penyimpanan akan menjadi, x, b. The Treeset pelaksanaan ditetapkan dan dilayari. Ia tidak mengekalkan susunan penyisipan tetapi menyimpan unsur -unsur dalam urutan yang disusun. Jika pesanan yang dimasukkan adalah A, C, B, maka unsur -unsur akan disimpan sebagai A, B, C. Semua Hashset, LinkedHashset dan TreeSet tidak akan mempunyai unsur pendua.
Senarai vs ditetapkan | |
Senarai antara muka adalah antara muka sub koleksi yang mengandungi kaedah untuk melaksanakan operasi seperti sisipan, padam berdasarkan indeks. | SET Interface adalah antara muka sub koleksi yang mengandungi kaedah untuk melaksanakan operasi seperti memasukkan, memadam elemen sambil mengekalkan unsur -unsur yang unik. |
Kelas | |
ArrayList, Vektor, dan LinkedList adalah kelas yang melaksanakan antara muka senarai. | Hashset, LinkedHashset, dan TreeSet adalah kelas yang melaksanakan antara muka set. |
Duplikasi elemen | |
Senarai menyokong pertindihan elemen. | Set tidak menyokong duplikasi elemen. Unsur -unsur adalah unik. |
Koleksi digunakan untuk menyimpan elemen secara dinamik. Bahasa pengaturcaraan seperti Java Menyediakan Antara Muka Koleksi. Senarai dan set adalah dua antara muka yang tergolong dalam antara muka koleksi. Kedua -dua antara muka memanjangkan koleksi. Artikel ini membincangkan perbezaan antara senarai dan set. Perbezaan utama antara senarai dan set ialah senarai yang menyokong menyimpan elemen yang sama berbilang kali sementara set tidak menyokong menyimpan elemen yang sama berbilang waktu. Tetapkan sentiasa mengekalkan elemen yang unik.
1.Titik, tutorial. "Koleksi Java.", Tutorial Point, 8 Jan. 2018. Terdapat di sini