1. 程式人生 > >Java集合框架(六)--ArrayList與LinkedList

Java集合框架(六)--ArrayList與LinkedList

-ArrayList是一個數組佇列,相當於動態陣列。與java中的陣列相比,它的容量能動態增長。它繼承於AbstractList,實現了List,RandomAccess,Cloneable,Serializable介面。
-ArrayList是執行緒不安全的,所以在單執行緒下使用ArrayList,而在多執行緒中選擇Vector或CopyOnWriteArrayList
-ArrayList屬性就是當前陣列長度size,以及存放陣列的物件elementData陣列。

//初始容量值
private static final int DEFAULT_CAPACITY = 10;

//空物件組
private static final Object[] EMPTY_ELEMENTDATA = new Object[0]; //預設構造器建立的空物件的預設值 private static final Object[] DEFAULTCAPACITY_EMPTY+ELEMENTDATA = new Object[0]; //當前資料物件存放位置,且不參與序列化 transient Object[] elementData; //當前陣列長度 private int size; private static final int MAX_ARRAY_SIZE = (2^31)-8

LinkedList是實現List介面和Deque介面的雙端連結串列。
LinkedList是非執行緒安全的,可以通過Collections.synchronizedList(new LinkedList())變為執行緒安全。
它底層的資料結構是基於雙向迴圈連結串列,且頭結點中不存放資料。

相關推薦

Java集合框架()--ArrayListLinkedList

-ArrayList是一個數組佇列,相當於動態陣列。與java中的陣列相比,它的容量能動態增長。它繼承於AbstractList,實現了List,RandomAccess,Cloneable,Serializable介面。 -ArrayList是執行緒不安全

java集合框架05——ArrayListLinkedList的區別

前面已經學習完了List部分的原始碼,主要是ArrayList和LinkedList兩部分內容,這一節主要總結下List部分的內容。 List概括         先來回顧一下List在Collection中的的框架圖:     從圖中我們可以看出:        

Java基礎知識(JAVA集合框架之ListSet)

開發 如果 表數 特點 必須 加鎖 以及 stringbu 不可 List和Set概述數組必須存放同一種元素。StringBuffer必須轉換成字符串才能使用,如果想拿出單獨的一個元素幾乎不可能。數據有很多使用對象存,對象有很多,使用集合存。 集合容器因為內部

Java 集合框架:ordered sorted

中文中講集合有序,就是指集合是ordered,ordered是資料結構層面的有序。sorted是基於ordered的,指可根據排序規則(通常基於資料值)對資料進行排序。 ordered,其順序是基於資料結構的,與其中所存物件的值沒有關係,比如,ArrayList是基於索引的,

Java 知識點整理-10.Java集合框架 去除ArrayList中重複字串、自定義物件 棧和佇列 泛型 JDK5新特性 asList() toArray(T[] a) ArrayList迴圈巢狀

詳細標題:去除ArrayList中重複字串、自定義物件元素方式 棧和佇列 泛型 JDK5新特性(增強for迴圈 三種迭代(普通for、迭代器、增強for)中的元素能否刪除 靜態匯入 可變引數)Arrays工具類的asList() Collection中toArray(T[] a) 集合巢狀之Arra

Java集合中的ArrayListLinkedList

前言 在平時的開發過程中我們會使用到許多的資料結構,其中表也許是使用最多的一種。明白Collections容器的朋友一定都是使用過其中的List容器。這裡我將通過建立自己的List來說明表的原始碼實現。 這裡主要實現兩個庫類重要子集ArrayList和Linke

Java集合框架ArrayList原始碼分析

分析: java集合框架主要包括兩種型別的容器,集合(Collection),儲存元素集合,圖(Map),儲存鍵值對對映,而Collection介面又有三種子型別:List,Set,Queue,然後是一些抽象類,最後是一些實現類,常用ArrayList,Lin

Java 集合框架 原始碼淺析 理解

最近在研究java原始碼,就是看一看別人寫好的東西,也不算是研究。知根知底的對以後的學習會有很大的幫助,我先去了解一下java集合框架,從總體上對這個組織和操作資料的資料結構有個淺顯得的瞭解。 從網上看了很多資料,發現這一張圖總結的還算不錯就引用過來了。但是最

Java集合框架ArrayList擴容機制解釋

1、java中ArrayList該類的定義public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneab

Java集合框架】MapSet的有序無序

Set本身不保證順序/* * HashSet是無序的; LinkedHashSet是按插入順序的; TreeSet是按升序的; * * HashMap是無序的;LinkedHashMap是按插

java集合 List (ArrayListlinkedList、Vector、Stack) Set(HashSet、LinkedHashSet、TreeSet) Queue Map

集合就是高階陣列,可以存放任意型別的物件,同時可以自動擴容, List介面實現下來的類有: 陣列集合叫arrayList、Vector、stack(棧) 連結串列集合叫LinkedList List 有序可重複的集合 Set是無序不可重複集合 H

Java學習筆記——淺談數據結構Java集合框架(第一篇、List)

技術分享 emp 鏈表 adc 下標 -c nod nal integer 橫看成嶺側成峰,遠近高低各不同。不識廬山真面目,只緣身在此山中。               ——蘇軾 這一塊兒學的是雲裏霧裏,咱們先從簡單的入手。逐漸的撥開迷霧見太陽。本次先做List集合的三

jdk源碼閱讀筆記之java集合框架(四)(LinkedList

ray private array public 源碼閱讀 jdk源碼閱讀 oid color 解釋 關於LinkedList的分析,會從且僅從其添加(add)方法入手。 因為上一篇已經分析過ArrayList,相似的地方就不再敘述,關註點在LinkedList的特點。 屬

Java學習筆記32(集合框架:Map接口)

hashtable code rri 輸出 clas bsp pan ons spa Map接口與Collection不同: Collection中的集合元素是孤立的,可理解為單身,是一個一個存進去的,稱為單列集合 Map中的集合元素是成對存在的,可理解為夫妻,是一對一對存

java成神之——集合框架ArrayList,Lists,Sets

code integer 查詢 aes 循環 etl 散列 排序 shuf 集合 集合種類 ArrayList 聲明 增刪改查元素 遍歷幾種方式 空集合 子集合 不可變集合 LinkedList Lists 排序 類型轉換 取交集 移動元素 刪除交集元素 Set

java集合框架:淺談如何使用LInkedList實現隊列(Queue)和堆棧(Stack)

ets pop pri ring uname tac print str sys Java中的LinkedList?是采用雙向循環列表實現的。利用LinkedList?可以實現棧(stack)、隊列(queue) 下面寫兩個例子學生類:int stuId; public i

java語言基礎--集合學習,ArrayListLinkedlist

rem 超出 pri internal mac extend pre 所有 因此 Collection<E>接口   這個接口是集合框架最頂級的接口,該接口擴展了Iterable接口,這意味著所有的集合類fore-each風格進行遍歷。 ArrayList 與

Java集合框架中底層文件的ListSet

Java集合框架中的List與Set // 簡書作者:達叔小生 Collection -> Set 無序不重複 -> 無序HashSet,需要排序TreeSet -> List 有序可重複 -> 查,改ArrayList,增刪LinkedList

4.Java集合框架剖析 之 LinkedList原始碼剖析

1 package java.util; 2 3 import java.util.function.Consumer; 4 5 //LinkedList基於連結串列實現 6 //實現了List、Deque、Cloneable、Serializable介面 7 publi

Java集合框架——jdk 1.8 ArrayList 原始碼解析 System.arraycopy 怎麼使用的?

前言:作為菜鳥,需要經常回頭鞏固一下基礎知識,今天看看 jdk 1.8 的原始碼,這裡記錄 ArrayList 的實現。 一、簡介   ArrayList 是有序的集合;   底層採用陣列實現對資料的增刪查改;   不是執行緒安全的;   有自動擴容的功能。 二、類圖