Java集合類是一種特別有用的工具類,可用于存儲數量不等的對象,并可以實現常用的數據結構,如棧,隊列等,此外Java集合還可以用于保存具有映射關系的關聯數組.java集合大致可分為Set,List,Queue和Map四種體系,其中Set代表無序,不可重復的集合;List代表有序,重復的集合;而Map則代表具有映射關系的集合,Java5又增加了Queue體系集合,代表一種隊列集合實現.
Java集合就像是一個容器,Java5之前Java集合會丟失容器中所有對象的數據類型,把所有對象都當成Object類型處理,Java5增加了泛型之后,Java集合可以記住容器中,對象的數據類型.
所有的Java集合工具類也被稱為容器類,位于java.util包下,后來為了處理多線程環境下的并發安全問題,Java5還在java.util.concurrent包下提供了一些多線程支持的集合類.
集合與數組不一樣,數組元素既可以是基本類型值,也可以是對象(實際保存的對象的引用變量);而集合里只保存對象(實際只是保存對象的引用變量,但通常習慣上認為集合里保存的是對象)
Java的集合類主要由兩個接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,這兩個接口又包含了一些子接口或者實現類.
Collection體系:
Map體系;所有的Map實現類用于保存具有映射關系的數據(也就是前面介紹的關聯數組),Map中保存的每項數據都是key-value對,Map中的key是不可重復的,key用于標識.
?
Collection與Map體系標識的四個接口,可以把Java所有集合分成三大類,其中Set集合類似于一個罐子,把對象添加到Set集合時,Set集合無法記住添加這個元素的順序,所有Set里的元素不能重復(否則系統無法準確識別這個元素);List集合非常像一個數組,它可以記住每次添加元素的順序,且List的長度可變.Map集合也像一個罐子,只是它里面的每項數據都由兩個值組成.
?
對于Set,List,Queue和Map四種集合,最常用的實現類分別是HashSet,TreeSet,ArrayList,ArrayDeque,LinkedList和HashMap,TreeMap.
?