1、集合類彙總數組
1.數組與集合數據結構
數組:既可存儲基本數據類型,也能夠存儲同類對象。長度固定。spa
集合:只能存儲對象,類別能夠不一樣。長度不固定。指針
Collection是集合類的根接口,其被繼承產生了兩個接口,Set和List。對象
Set中不能包含重複的元素。List是一個有序的集合,能夠包含重複的元素,提供了按索引訪問的方式。繼承
Map是Java.util包中的另外一個接口,它和Collection接口沒有關係,是相互獨立的,可是都屬於集合類的一部分。Map包含了key-value對。Map不能包含重複的key,可是能夠包含相同的value。索引
Iterator,全部的集合類,都實現了Iterator接口,這是一個用於遍歷集合中元素的接口,主要包含如下三種方法:
1.hasNext()是否還有下一個元素。
2.next()返回下一個元素。
3.remove()刪除當前元素。接口
arraylist和linkedlist:element
1.ArrayList是實現了基於動態數組的數據結構,LinkedList基於鏈表的數據結構。rem
ArrayList重要數據結構(數組):
1.1. // 保存ArrayList中數據的數組 private transient Object[] elementData;
1.2. // ArrayList中實際數據的數量 private int size;
LinkList重要數據結構(雙向循環鏈表):
private transient Entry<E> header = new Entry<E>(null, null, null); //鏈表節點
private transient int size = 0; //節點數量
2.對於隨機訪問get和set,ArrayList優於LinkedList,由於LinkList要移動指針。3.對於新增和刪除操做add和remove,LinkList比較佔優點,由於ArrayList要移動數據。