Perbezaan Antara Senarai dan Set

Perbezaan Utama - Senarai vs Tetapkan
 

Kebanyakan bahasa pengaturcaraan menggunakan array untuk menyimpan satu set data jenis yang sama. Satu kekurangan susunan utama ialah, apabila saiz array diisytiharkan, ia tidak boleh diubah suai. Jika pengaturcara mahu menyimpan nilai melebihi saiz seragam, maka dia harus membuat array baru dan menyalin elemen sedia ada pada array baru. Dalam situasi ini, koleksi boleh digunakan. Adalah mungkin untuk menambah elemen, padam elemen dan banyak lagi operasi dengan sokongan koleksi. Terdapat pelbagai koleksi yang terdapat dalam bahasa pengaturcaraan seperti Java. Senarai dan Set adalah antara muka hierarki koleksi. Antara muka asas untuk antara muka lain ialah Koleksi. The perbezaan utama antara Senarai dan Set itu Senarai menyokong menyimpan elemen yang sama beberapa kali sementara Set tidak menyokong menyimpan elemen yang sama beberapa kali. Oleh itu, 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 Side by Side - Senarai vs Set dalam Borang Tabular
6. Ringkasan

Apa itu Senarai?

Senarai ini adalah antara muka yang memanjangkan antara muka Pengumpulan. Terdapat beberapa kaedah dalam antara muka Koleksi. Kaedah tambahan membantu menambah elemen. 'Cara buang' adalah untuk mengalih keluar elemen. Terdapat 'addAll method' untuk menambah pelbagai unsur manakala 'removeAll method' untuk menghapus elemen dari koleksi. Kaedah yang mengandungi membantu untuk mencari sama ada objek tertentu ada dalam Senarai atau tidak. The 'containsAll' adalah untuk mencari sama ada satu set objek hadir dalam koleksi. Kaedah iterator digunakan untuk melengkung melalui item senarai. Oleh kerana Senarai memanjangkan Koleksi, semua kaedah Koleksi dimiliki oleh Senarai. Selain kaedah tersebut, Senarai mempunyai kaedah seperti mendapatkan dan tetapkan. Programmer boleh mendapatkan nilai pada indeks tertentu menggunakan kaedah mendapatkan. Pengaturcara boleh menetapkan nilai pada indeks tertentu dengan menggunakan kaedah yang ditetapkan. 'IndeksOf' digunakan untuk mencari indeks elemen.

Dalam Senarai, operasi boleh dilakukan mengikut kedudukan. Programmer dapat memberikan elemen data yang akan ditambahkan ke indeks. Jadi ia akan ditambah kepada indeks khusus. Jika pengaturcara tidak memberikan indeks, elemen akan ditambah pada akhir Senarai. Ia juga mengekalkan pesanan yang dimasukkan. Jika elemen 1 ditambah dan kemudian elemen2 ditambahkan, maka element1 akan berada di hadapan elemen2.

Rajah 01: Senarai dan Set

ArrayList, LinkedList, Vector adalah beberapa kelas yang melaksanakan Senarai. Dalam ArrayList, mengakses elemen adalah pantas tetapi memasukkan dan memadamkan lebih rendah. ArrayList bukan benang selamat. Mengakses ArrayList yang sama dari pelbagai thread mungkin tidak memberikan hasil yang sama. Dalam LinkedList, unsur-unsur dikaitkan dengan kedua-dua ke belakang dan ke hadapan. Memasukkan dan memadam elemen menggunakan LinkedList lebih cepat daripada ArrayList. ListList mengimplementasikan Senarai dan Giliran Kedua-duanya. Vektor serupa dengan ArrayList, tetapi ia selamat kerana semua kaedah diselaraskan.

Apa yang ditetapkan?

Tetapkan adalah antara muka yang memanjangkan antara muka Pengumpulan. Sebagai antara muka Set memperluaskan Koleksi, semua kaedah Pengumpulan juga milik Set. A Set tidak menyokong nilai duplikasi. Oleh itu, pengaturcara tidak dapat menyimpan elemen yang sama dua kali. Ia mengekalkan satu set elemen unik. Antara muka SortedSet meluaskan antara muka Set. SortedSet mengekalkan unsur-unsur dalam urutan yang disusun. Antaramuka NavigableSet memanjangkan SortedSet. NavigableSet menyediakan kaedah navigasi seperti bawah, lantai, siling dan lain-lain.

HashSet, LinkedHashSet, dan TreeSet adalah beberapa kelas yang melaksanakan antara muka Set. The HashSet mengimplementasikan antara muka Tetapkan. Ia tidak mengekalkan pesanan yang dimasukkan. Sekiranya nilai dimasukkan sebagai, x, b mungkin menyimpan sebagai, x, a, b. The LinkedSet mengekalkan pesanan yang dimasukkan. Sekiranya unsur-unsur dimasukkan dalam perintah, x, b, perintah penyimpanan adalah a, x, b. The TreeSet melaksanakan Set dan NavigableSet. Ia tidak mengekalkan susunan sisipan tetapi menyimpan unsur-unsur dalam susunan yang disusun. Jika pesanan yang dimasukkan adalah, c, b, maka unsur-unsur akan disimpan sebagai a, b, c. Semua HashSet, LinkedHashSet dan TreeSet tidak akan mempunyai unsur-unsur pendua.

Apakah Kesamaan Antara Senarai dan Set?

  • Kedua-dua Senarai dan Set antaramuka melanjutkan antaramuka Koleksi.
  • Kedua-dua Senarai dan Tetapkan operasi sokongan seperti menambah, mengeluarkan elemen.

Apakah Perbezaan Antara Senarai dan Set?

Senarai vs Set

Senarai Antara Muka adalah antara muka sub Koleksi yang mengandungi kaedah untuk melaksanakan operasi seperti memasukkan, padam berdasarkan indeks. Set Antara Muka adalah antara muka sub Pengumpulan yang mengandungi kaedah untuk melaksanakan operasi seperti memasukkan, memadamkan elemen sambil mengekalkan unsur unik.
 Kelas
ArrayList, Vector, dan LinkedList adalah kelas yang melaksanakan antara muka Senarai. HashSet, LinkedHashSet, dan TreeSet adalah kelas yang melaksanakan antara muka Set.
Duplikasi Unsur
Senarai menyokong pendua unsur-unsur. Tetapkan tidak menyokong duplikasi elemen. Elemen adalah unik.

Ringkasan - Senarai vs Tetapkan

Koleksi digunakan untuk menyimpan elemen secara dinamik. Bahasa pengaturcaraan seperti Java menyediakan antara muka Koleksi. Senarai dan Tetapkan dua antara muka yang dimiliki oleh antara muka Koleksi. Kedua-dua antara muka memperluaskan Koleksi. Artikel ini membincangkan perbezaan antara Senarai dan Set. Perbezaan utama antara Senarai dan Tetapkan ialah Senarai menyokong menyimpan elemen yang sama beberapa kali sementara Set tidak menyokong menyimpan elemen yang sama banyak kali. Tetapkan sentiasa mengekalkan elemen unik.

Rujukan:

1.Point, Tutorial. "Koleksi Jawa.", Titik Tutorial, 8 Jan. 2018. Boleh didapati di sini