天天看點

java複習 --集合類

java複習 --集合類

List接口:可以存放重複内容;

set接口:不能存放重複内容,重複内容依靠hashcode和equal兩個方法來區分;

Queue:隊列;

SortedSet接口:對集合中的資料進行排序;

List子類:ArrayList,Vector

ArrayList和Vector的差別:

java複習 --集合類

LinedList 連結清單的操作類

Queue接口是Collection的子接口

Set接口是collection接口的子接口,但是和Collection或者List接口不同的是:set不能加入重複元素。

set的主要方法同Collection一緻

Set接口的執行個體無法像List接口那樣進行雙向輸出

Set子類:

散列存放:HashSet

有序存放:TreeSet

Set是無序的,List是按照存放順序進行排序的。

對象排序必須實作Commparable接口,在commpareTo方法裡面對對象資料進行排序

Iteartor

ListIterator

foreach輸出

Enumeration輸出

注意:在使用集合輸出的時候必須形成如下思路,隻要是碰到集合資料的操作,就一定使用Iterator接口

Iterator接口的操作原理:

Interator是專門的疊代輸出接口,所謂的疊代輸出就是将元素一個個進行判斷,判斷是否有内容,如果有取出來。

疊代器标準寫法:

java複習 --集合類

疊代删除元素:

java複習 --集合類

注意點:

List接口存在删除方法:remove

如果在使用輸出的過程中使用list的remove執行删除,會出現問題。

在使用Iterator輸出的時候,不要使用集合類裡面的remove方法,隻能使用疊代器裡面的remove方法。

Iterator的子接口;Iterator主要是實作從前到後的單項輸出,如果實作從後到前或者從前到後的雙向輸出,就要使用子接口ListIterator

注意:隻有List接口才存在ListIterator接口的執行個體化操作。

java複習 --集合類

先進行向前才能進行向後操作。

Collection和Map的差別:

Collection的操作是一個對象,map是一對對象,key-->value形式進行存儲

Map的子類:

HashMap:無序存放,新的操作類,key不能重複

HashTable,無序存儲,舊的操作類,key不允許重複

TreeMap:可以排序的map集合,按照集合中的key進行排序,key不允許重複。

WeakHashMap:弱引用Map集合,當集合中否寫内容不再使用時候,可以清除掉無用的資料,并使用gc回收。

IdentityHashMap,key可以重複的Map集合。

HashMap和HashTable的差別:

java複習 --集合類

Map接口輸出:

順序如下:

java複習 --集合類
java複習 --集合類

使用foresh輸出:

java複習 --集合類

如果希望key可以重複可以使用IdentityHashMap

SortedMap

SortedSet是TreeSet的實作接口

SortedMap是TreeMap的實作,是可以排序的map

提供集合類相關的幫助方法:

emptyList()

emptySet()

addAll()

replayAll()

棧是先進後出的資料結構進行存儲的,新的元素壓在舊的元素上面;

java複習 --集合類

Stack是Vector的子類

push入棧

pop出棧