Rumah Java Javabermula ArrayList、LinkedList与Vector三者有什么区别

ArrayList、LinkedList与Vector三者有什么区别

Aug 06, 2020 pm 04:01 PM
arraylist linkedlist vector

ArrayList、LinkedList与Vector三者有什么区别

1、从存储数据结构分析

(推荐教程:java入门教程

ArrayList:数组

Vector:数组

LinkedList:双向链表

数组:可以根据下标快速查找,所以大部分情况下,查询快。

但是如果要进行增删操作的时候,会需要移动修改元素后面的所有元素,所以增删的开销比较大,数组的对增删操作的执行效率低。而采用数组作为数据存储结构的ArrayList、Vector也存在这些特性,查询速度快(可以根据下标直接取,比迭代查找更快),增删慢。

链表:增加和删除元素方便,增加或删除一个元素,仅需处理结点间的引用即可。就像人手拉手连成一排,要增加或删除某个人只要附近的两个人换一个人牵手,对已经牵好手的人没影响。无论在哪里换人耗费的资源和时间都是一样的。

但是查询不方便,需要一个个对比,无法根据下标直接查找。而采用链表结构存储的LinkedList也有这些特性,增删方便,查询慢(指的是随机查询,不是顺序查询)。

2、从继承上分析

928393564ad0d02280068af616f9587.png

它们都实现了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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara menggunakan foreach dan iterator untuk memadam elemen semasa melintasi Java ArrayList? Apakah perbezaan antara menggunakan foreach dan iterator untuk memadam elemen semasa melintasi Java ArrayList? Apr 27, 2023 pm 03:40 PM

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

Bagaimana untuk menyemak sama ada ArrayList mengandungi elemen tertentu dalam Java? Bagaimana untuk menyemak sama ada ArrayList mengandungi elemen tertentu dalam Java? Sep 03, 2023 pm 04:09 PM

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

Alih keluar elemen daripada ArrayList menggunakan fungsi ArrayList.remove() java Alih keluar elemen daripada ArrayList menggunakan fungsi ArrayList.remove() java Jul 24, 2023 pm 01:21 PM

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 Gunakan kaedah removeLast() kelas LinkedList untuk memadamkan elemen terakhir dalam senarai terpaut Jul 24, 2023 pm 05:13 PM

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

Apakah sebab mengapa kapasiti awal ArrayList di Java ialah 10? Apakah sebab mengapa kapasiti awal ArrayList di Java ialah 10? May 10, 2023 pm 02:19 PM

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 Gunakan fungsi ArrayList.clear() java untuk mengosongkan elemen dalam ArrayList Jul 24, 2023 pm 02:04 PM

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 Java menggunakan fungsi contains() kelas ArrayList untuk menentukan sama ada unsur wujud Jul 24, 2023 pm 07:33 PM

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

Program Java untuk menambah elemen pada LinkedList Program Java untuk menambah elemen pada LinkedList Aug 26, 2023 pm 10:21 PM

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

See all articles