java中set集合,Java集合Set、Map、HashSet、HashMap、TreeSet、TreeMap等

 2023-10-07 阅读 31 评论 0

摘要:1、Set和Map的關系: Set代表一種集合元素無序、不可重復的集合,Map代表一種由多個key-value對組成的集合。 Set的集合繼承體系: Map關系集合 java中set集合、? Map集合的key特征:所有key不能重復,key之間沒有順序。Map集合的所有key將具有

1、Set和Map的關系:

Set代表一種集合元素無序、不可重復的集合,Map代表一種由多個key-value對組成的集合。

Set的集合繼承體系:

Map關系集合

java中set集合、?

Map集合的key特征:所有key不能重復,key之間沒有順序。Map集合的所有key將具有set集合的特征。

對Set做改造可將Set改造成Map集合;

?

2、HashSet和HashMap的區別和聯系:
? ? 對于HashSet,系統采用Hash算法決定集合元素的存儲位置;對于HashMap,系統將value當成key的附屬物,系統根據hash算法決定key的存儲位置,value總是緊隨key存儲。

java鍵值對集合。? ? HashSet通過封裝一個HashMap對象來存儲所有的集合元素,所有放入HashSet中的集合元素實際上由HashMap的key來保存,而HashMap的value則存儲了一個PERSENT,它是一個靜態的Object對象。

? ? HashSet的add()方法添加元素時實際上轉變為調用HashMap的put()方法來添加key-value對,當新放入的hashmap的Entry中的key與集合中原有的Entry的key相同(hashCode()返回值相等,通過equals比較也返回true)時,新添加的Entry的value將覆蓋原來Entry的value,但key不會有任何改變。如果向hashSet中添加一個已經存在的元素,新添加的集合元素不會覆蓋已有的集合元素。

?

3、TreeMap和TreeSet的區別和聯系:

? ? TreeSet底層采用一個NavigableMap來保存TreeSet集合的元素,NavigableMap是一個接口,底層使用TreeMap來保存Set集合中的所有元素。TreeSet里絕大部分方法都是直接調用TreeMap方法來實現。

map集合的方式有哪些、? ? TreeMap采用一種被稱為“紅黑權”的排序二叉樹來保存Map中的每個Entry——每個Entry都被當成紅黑樹的一個節點來對待。向TreeMap添加元素時,系統都要將該Entrty當成一個新節點,保證TreeMap中所有key總是由小到大排列的。TreeMap添加元素、取出元素的性能都比HashMap低。

?

4、Map和List

? ? Map集合是一個關聯數組,包含兩組值,key組成的集合可以組成一個set集合,value組成的集合可以組成List集合。

Map接口提供get(K key)方法,允許Map對象根據key來獲取value;?

map集合區別?List接口提供get(int index)方法,允許List對象根據元素索引來取得value;

List相當于所有key都是int型的Map,也可以說Map相當于索引是任意類型的List;

?

5、ArrayList和LinkedList

? ? List集合的實現類有三個:ArrayList、Vector和LinkedList。Vector還有一個Stack子類,Stack在Vector父類的基礎上增加了五個方法。Stack是一個線程安全的類,Vector也是一個線程安全的類。

Java集合框架、? ? 從序列化機制角度看,ArrayList的實現比Vector的實現更安全,Vector是ArrayList的線程安全版本。

當取元素時ArrayList性能大大優于LinkedList,因為ArrayList底層以數組來保存集合元素。當程序需要添加或刪除元素時,ArrayList必須對底層數組元素整體移動,如果添加元素導致集合長度超過底層數組長度,ArrayList必須創建一個長度為原來1.5倍的數組,再由垃圾回收機制回收原有數組,開銷較大。LinkedList,在插入刪除元素上,性能高于ArrayList。

?

6、迭代器接口Iterator

? ? 用于迭代各種Collection集合,用iterator()方法返回一個Iterator用于遍歷該集合中的元素。用remove()方法刪除剛迭代的集合元素。

java treemap 排序。?

轉載于:https://www.cnblogs.com/yzm10/p/7529295.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/125704.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息