ArrayList、LinkedList与Vector三者有什么区别
1、从存储数据结构分析
(推荐教程:java入门教程)
ArrayList:数组
Vector:数组
LinkedList:双向链表
数组:可以根据下标快速查找,所以大部分情况下,查询快。
但是如果要进行增删操作的时候,会需要移动修改元素后面的所有元素,所以增删的开销比较大,数组的对增删操作的执行效率低。而采用数组作为数据存储结构的ArrayList、Vector也存在这些特性,查询速度快(可以根据下标直接取,比迭代查找更快),增删慢。
链表:增加和删除元素方便,增加或删除一个元素,仅需处理结点间的引用即可。就像人手拉手连成一排,要增加或删除某个人只要附近的两个人换一个人牵手,对已经牵好手的人没影响。无论在哪里换人耗费的资源和时间都是一样的。
但是查询不方便,需要一个个对比,无法根据下标直接查找。而采用链表结构存储的LinkedList也有这些特性,增删方便,查询慢(指的是随机查询,不是顺序查询)。
2、从继承上分析
它们都实现了List接口,也就是说都实现了get(int location)、remove(int location)等“根据索引值来获取、删除节点的函数”。
(视频教程推荐:java视频教程)
数组结构根据下标取值很容易,LinkedList双向列表的实现也比较简单,通过计数索引值实现,从链表长度的1/2开始查找,下标大了就从表头开始找,小了就从表尾开始找。
3、从并发安全上分析
Vector:线程安全
ArrayList:非线程安全
LinkedList:非线程安全
4、数据增长分析
Vector:缺省的情况下,增长为原数组长度的一倍。说到缺省,说明他其实是可以自主设置初始化大小的。
ArrayList:自动增长原数组的50%。
Atas ialah kandungan terperinci ArrayList、LinkedList与Vector三者有什么区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



1. Perbezaan antara Iterator dan foreach ialah perbezaan polimorfik (lapisan bawah foreach ialah Iterator ialah jenis antara muka, dan ia tidak mengambil berat tentang jenis pengumpulan atau tatasusunan untuk dan untuk setiap perlu mengetahui jenisnya). koleksi pertama, dan juga jenis elemen dalam koleksi 1. Mengapa dikatakan bahawa lapisan bawah foreach adalah kod yang ditulis oleh Iterator: Kod decompiled: 2. Perbezaan antara keluarkan dalam foreach dan iterator Pertama, lihat di Manual Pembangunan Java Alibaba, tetapi tiada ralat akan dilaporkan dalam kes 1, dan ralat akan dilaporkan dalam kes 2 (java. util.ConcurrentModificationException) terlebih dahulu

Anda boleh menggunakan kaedah contains() antara muka Senarai untuk menyemak sama ada objek wujud dalam senarai. contains() method booleancontains(Objecto) Mengembalikan benar jika senarai ini mengandungi elemen yang ditentukan. Secara lebih formal, mengembalikan benar jika dan hanya jika senarai ini mengandungi sekurang-kurangnya satu elemen e sedemikian (o==null?e==null:o.equals(e)). Parameter c - elemen yang kehadirannya dalam senarai ini akan diuji. Nilai Pulangan Mengembalikan benar jika senarai ini mengandungi elemen yang ditentukan. Membuang ClassCastException - jika jenis elemen yang ditentukan tidak serasi dengan senarai ini (pilihan). NullP

Gunakan fungsi ArrayList.remove() java untuk mengalih keluar elemen daripada ArrayList Di Java, ArrayList ialah kelas koleksi yang biasa digunakan untuk menyimpan dan mengendalikan satu set elemen. Kelas ArrayList menyediakan banyak kaedah untuk menambah, memadam, mengubah suai dan meminta elemen dalam koleksi. Salah satu kaedah yang lebih kerap digunakan ialah remove(), yang boleh mengalih keluar elemen daripada ArrayList. Kaedah remove() ArrayList mempunyai dua bentuk terlebih muatan: satu

Gunakan kaedah removeLast() kelas LinkedList untuk memadamkan elemen terakhir dalam senarai terpaut ialah struktur data biasa dalam rangka kerja pengumpulan Java. Melalui kaedah yang disediakan oleh kelas LinkedList, kami boleh mengendalikan senarai terpaut dengan mudah, seperti menambah, memadam dan mengubah suai elemen. Dalam sesetengah senario, kami mungkin perlu memadamkan elemen terakhir dalam senarai terpaut. Kelas LinkedList menyediakan removeLas

Mengapakah kapasiti awal HashMap 16? Apabila bercakap tentang kapasiti permulaan ArrayList, kita mesti menyemak kapasiti permulaan HashMap terlebih dahulu. Mengambil kod sumber Java8 sebagai contoh, terdapat dua faktor yang berkaitan dalam HashMap: kapasiti permulaan dan faktor pemuatan: /***Thedefaultinitialcapacity-MUSTbeapoweroftwo.*/staticfinalintDEFAULT_INITIAL_CAPACITY=1>1);if(newCapacity-minCapacity0)newCapacity=hugeCapacity

Gunakan fungsi ArrayList.clear() Java untuk mengosongkan elemen dalam ArrayList Dalam pengaturcaraan Java, ArrayList ialah struktur data yang sangat biasa digunakan yang boleh menyimpan dan mengakses elemen secara dinamik. Walau bagaimanapun, dalam beberapa kes, kita mungkin perlu mengosongkan semua elemen dalam ArrayList untuk menggunakan semula atau membebaskan memori. Pada masa ini, anda boleh menggunakan fungsi clear() ArrayList untuk mencapainya. ArrayList.clear()

Java menggunakan fungsi contains() kelas ArrayList untuk menentukan sama ada unsur wujud ialah struktur data yang sangat biasa digunakan dalam pengaturcaraan Java. Ia menyediakan cara yang fleksibel untuk menyimpan dan memanipulasi satu set data. Di samping hanya menambah, memadam dan mengakses elemen, ArrayList juga menyediakan beberapa kaedah berguna, seperti fungsi contains(), yang digunakan untuk menentukan sama ada unsur wujud dalam ArrayList. mengandungi() fungsi ialah A

LinkedList ialah kelas umum JavaCollectionFramework, yang melaksanakan tiga antara muka: List, Deque dan Queue. Ia menyediakan kefungsian struktur data LinkedList, struktur data linear di mana setiap elemen dipautkan antara satu sama lain. Kami boleh melakukan pelbagai operasi pada LinkedList, termasuk menambah, mengalih keluar dan melintasi elemen. Untuk menambah elemen pada koleksi LinkedList, kita boleh menggunakan pelbagai kaedah terbina dalam seperti add(), addFirst(), dan addLast(). Kami akan meneroka cara menggunakan kaedah ini untuk menambah elemen pada LinkedList. di Jawa
