Artikel ini terutama mempelajari perbedaan antara ArrayList dan LinkedList dan konten yang relevan dari skenario penggunaan dalam pemrograman Java. Dengan rincian sebagai berikut.
1. ArrayList diimplementasikan berdasarkan array, dan konstruktornya adalah:
objek transien pribadi [] elementData; ukuran int pribadi;
Ketika arrylist diinisialisasi, ukuran array elementData default menjadi 10;
Setiap kali add (), hubungi pertama EnsureCapacity () untuk memastikan bahwa array tidak akan meluap. Jika penuh pada saat ini, itu akan diperluas menjadi 1,5 kali + 1 dari panjang array, dan kemudian gunakan metode array. Copy untuk menyalin array asli ke array baru;
Utas ArrayList tidak aman, metode vektor sinkron, aman-aman;
2. LinkedList diimplementasikan berdasarkan daftar double-linked:
Elemen objek; Entri berikutnya, sebelumnya;
Selama inisialisasi, ada entri header dengan nilai null;
Keuntungan menggunakan header adalah bahwa ada entri pra-entri dan entri pasca entri dalam entri apa pun (termasuk yang pertama dan terakhir), sehingga tidak ada tempat khusus untuk melakukan operasi insert di awal atau akhir objek LinkedList;
Gunakan skenario:
(1) Jika aplikasi melakukan sejumlah besar operasi atau operasi penghapusan pada elemen pada setiap posisi indeks, objek ArrayList jauh lebih baik daripada objek LinkedList;
(2) Jika aplikasi terutama melingkarkan daftar dan menyisipkan atau menghapus operasi selama looping, objek LinkedList jauh lebih baik daripada objek ArrayList.
Meringkaskan
Di atas adalah semua konten artikel ini tentang perbedaan antara ArrayList dan LinkedList dan analisis kode skenario penggunaan. Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!