集合映射
一.映射Set
Set是一個集合接口,它的特性和數學上的集合有點類似,Set中存放的是對象的引用,繼承自Collection借口.
特性: 1:不允許存放重復元素。
2:元素是無序。
3:主要有HashSet,LinkedHashSet,TreeSet 3個實現Set接口的具體類。
(1).HashSet按照特定的Hash算法存取對象,效率較高,存取對象的速度快。
(2).LinkedHashSet是HashSet的子類,它使用鏈表數據結構存取,與HashSet不同之處在于LinkHashSet中的元素具有固定的順序
(3).TreeSet是一個具有排序功能的集合,實現了Sorted接口,在加入對象時,按照集合中的對象進行了排序。但加入用戶自定義時,如Student類,則Student類需要實現Comparable接口排序。
二.映射List
List是一個集合接口,他繼承自Collection接口,List中存放的是對象的引用
特性: 1.List中可以存放重復元素。
2.List中的元素是一個有序的集合,可以通過索引訪問List中的元素。
3.List主要有ArryList和LinkedList實現Set接口的具體類。
(1).ArryList是一個可變的數組,它具有快速讀取對象的特性,但是如果刪除或者插入對象則效率較底;因為每次位置i插入一個對象時,從位置i+1到最后都要移一個位置;而每次刪除位置i上的一個對象,從位置i+1到最后則要前移一個位置。
(2).LinkedList在內部采用鏈表的形式存儲數據,因此在刪除和插入對象時會有較高的效率。如果經常需要在List中插入和刪除數據,建議使用LinkList;如果List中的對象很少,建議使用ArrayList
三.映射Bag
Bag并不是Java中的接口,它是Hibernate提供的集合,Bag中可以有重復的元素,但是Bag中的元素并沒有排序。如果有大量的重復數據,<Bag>標簽的效率比較低,它在更新數據時采用的是先刪除要更新的數據,然后插入數據。使用<ibag>可以避免這種情況。
四.映射Map
Map是java中的接口,它是一種重要的集合,它使用Key/value的方式存儲數據.