1.容器類:
容器類是java以類庫的形式供有使用者開發程式時可直接使用的各種資料結構。
2.java容器架構中有兩個名稱分别為Collection和Set的接口,為防止名稱的沖突,本書将
Collection譯為容器,而将Set譯為集合
3.java容器架構結構由兩棵接口樹構成,第一棵樹根節點為Collection接口,它定義了
所有容器的基本操作,如添加、删除、周遊等。它的子接口Set、List等則提供了更加特殊
的功能,其中Set的對象用于存儲一組不重複的元素集合,而List的對象用于存儲一個由元素
構成的線性表。第二課樹節點為Map接口,它保持了“鍵”到“值”的映射,可以通過鍵來
實作對值得快速通路
4.容器接口Collection:
Collection<E>接口的常用方法,其中的方法預設為public abstract。由于容器架構全部
采用泛型實作,是以我們以泛型的形式給出相應的方法,即帶類型參數
5.清單接口List
清單接口List是Collection的子接口,它是一種包含有序元素的線性表,其中的元素必須按
順序存放,且可重複,也可以是空值null
6.元素之間的順序關系可以由添加到清單的先後來決定,也可由元素的大小來決定。List接口
使用下标來通路元素。下标範圍為0-size()-1.常用方法預設為public abstract
7.實作List接口的類主要有兩個:連結清單類LinkedList和數組清單類ArrayList.它們都是線性表
8.LinkedList連結清單類采用連結清單結構儲存對象,使用循環雙連結清單實作List。這種結構向連結清單中
任意位置插入、删除元素時不需要移動其他元素,連結清單的大小是可以動态增大或減小的,
但不具有随機存取特性
9.ArrayList數組清單類使用一維數組類實作List,該類實作的是可變數組,允許所有元素包括
null。具有随機存取特性,插入、删除元素需要移動其他元素,當元素很多時,插入、删除
的操作很慢。在向ArrayList中天際元素時,其容量會自動增大,但不能自動縮小,但可以用
trimToSizie()方法将數組的容量減小到數組清單的大小
10.如何選用這兩種線性表?通常原則為:若要通過下标随機通路元素,但除了在末尾處之外
不在其他位置插入或删除元素,則應該選擇arrayList類,但若需要線上性表的任意位置進行
插入或删除操作,則應選擇LinkedList類
11使用線性表時通常聲明為List<E>類型,然後通過不同的實作類來執行個體化清單。如
List<String> list1 = new LinkedList<String>();
List<String> list1 = new ArrayList<String>();
LinkedList<E>l類與ArrayList<E>類大部分方法是繼承其父類或祖先類,除此之外還定義了
各自的方法
總結:今天簡單的了解了容器的概念就是相當于程式中的各種資料結構
資料結構又分為總的兩種一種是Collection容器兩外一種就是Set集合
容器Collection中又有List清單,它又有兩個子類LinkedList和ArrayList類