Perbezaan antara senarai dan set

Perbezaan antara senarai dan set

Perbezaan utama - Senarai vs Tetapkan
 

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.

Kandungan

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

Apa itu senarai?

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.

Apa yang ditetapkan?

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.

Apakah persamaan antara senarai dan set?

  • Kedua -dua senarai dan tetapkan antara muka melanjutkan antara muka pengumpulan.
  • Kedua -dua senarai dan tetapkan operasi sokongan seperti menambah, mengeluarkan elemen.

Apakah perbezaan antara senarai dan set?

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.

Ringkasan - Senarai vs Tetapkan

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.

Rujukan:

1.Titik, tutorial. "Koleksi Java.", Tutorial Point, 8 Jan. 2018. Terdapat di sini