深入解讀Java三大集合之map list set的用法
Map接口和Collection接口是所有集合框架的父接口:
Collection接口的子接口包括:Set接口和List接口
Map接口的實(shí)現(xiàn)類主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等
Set接口的實(shí)現(xiàn)類主要有:HashSet、TreeSet、LinkedHashSet等
List接口的實(shí)現(xiàn)類主要有:ArrayList、LinkedList、Stack以及Vector等
List,Set,Map三者的區(qū)別?List、Set、Map 是否繼承自 Collection 接口?List、Map、Set 三個(gè)接口存取元素時(shí),各有什么特點(diǎn)?
Collection集合主要有List和Set兩大接口
(1)List:是一個(gè)有序,元素可以重復(fù)。常用的實(shí)現(xiàn)類有 ArrayList、LinkedList 和 Vector。
(2)Set:是一個(gè)無(wú)序,不可以存儲(chǔ)重復(fù)元素,只允許存入一個(gè)null元素,Set 接口常用實(shí)現(xiàn)類是 HashSet、LinkedHashSet 以及 TreeSet。
Map
Map是一個(gè)鍵值對(duì)集合,存儲(chǔ)鍵、值和之間的映射。 Key無(wú)序,唯一;value 不要求有序,允許重復(fù)。Map沒(méi)有繼承于Collection接口,從Map集合中檢索元素時(shí),只要給出鍵對(duì)象,就會(huì)返回對(duì)應(yīng)的值對(duì)象。
Map 的常用實(shí)現(xiàn)類:HashMap、TreeMap、HashTable、LinkedHashMap、ConcurrentHashMap
- (1)Map 存元素和取元素和刪除(put、get、remove)
import java.util.HashMap; /** * Map 存元素和取元素和刪除(put、get、remove) * @author 小治的高等數(shù)學(xué) * */ public class Map1 { public static void main(String[] args) { // 創(chuàng)建 HashMap 對(duì)象 Sites HashMap<String, String> sites = new HashMap<String, String>(); // 添加鍵值對(duì) sites.put("1", "Google"); sites.put("2", "Runoob"); sites.put("3", "Taobao"); sites.put("4", "Zhihu"); // 輸出Map中所有元素 System.out.println(sites); // 拿出Map中key的為1的value的值 System.out.println(sites.get("1")); System.out.println(sites.get("3")); sites.remove("3"); System.out.println(sites.get("3")); System.out.println(sites); } }
- (2)循環(huán)Map
package basics.map; import java.util.HashMap; import java.util.Map.Entry; public class Map2 { public static void main(String[] args) { // 創(chuàng)建 HashMap 對(duì)象 Sites HashMap<Integer, String> sites = new HashMap<Integer, String>(); // 添加鍵值對(duì) sites.put(4, "Zhihu"); sites.put(1, "Google"); sites.put(2, "Runoob"); sites.put(3, "Taobao"); sites.put(4, "Zhihu2"); // 只循環(huán) key for (Integer i : sites.keySet()) { System.out.println("key: " + i + " value: " + sites.get(i)); } // 只循環(huán) value 值 for(String value: sites.values()) { // 輸出每一個(gè) value System.out.println(value + ", "); } // 循環(huán) key 和 value for (Entry<Integer, String> entry : sites.entrySet()) { System.out.println("只輸出key "+entry.getKey()); System.out.println("只輸出value "+entry.getValue()); } for (int i = 0; i <= sites.size(); i++) { System.out.println(sites.get(i)); } } }
以上就是深入解讀Java三大集合之map list set的用法的詳細(xì)內(nèi)容,更多關(guān)于Java 三大集合的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Java中集合List、Set和Map的入門(mén)詳細(xì)介紹
- Java集合框架之Set和Map詳解
- Java?集合框架掌握?Map?和?Set?的使用(內(nèi)含哈希表源碼解讀及面試??碱})
- Java多線程高并發(fā)中解決ArrayList與HashSet和HashMap不安全的方案
- JAVA中的 map,list,set
- java中Map、Set、List的簡(jiǎn)單使用教程(快速入門(mén))
- Java HashSet(散列集),HashMap(散列映射)的簡(jiǎn)單介紹
- java的各種集合為什么不安全(List、Set、Map)以及代替方案
- Java數(shù)據(jù)結(jié)構(gòu)之Map與Set專篇講解
相關(guān)文章
Springboot攔截器如何獲取@RequestBody參數(shù)
這篇文章主要介紹了Springboot攔截器如何獲取@RequestBody參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06spring boot實(shí)戰(zhàn)之本地jar包引用示例
本篇文章主要介紹了spring boot實(shí)戰(zhàn)之本地jar包引用示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10mybatis 為什么千萬(wàn)不要使用 where 1=1
這篇文章主要介紹了mybatis 為什么千萬(wàn)不要使用 where 1=1,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05Java實(shí)現(xiàn)時(shí)間動(dòng)態(tài)顯示方法匯總
這篇文章主要介紹了Java實(shí)現(xiàn)時(shí)間動(dòng)態(tài)顯示方法匯總,很實(shí)用的功能,需要的朋友可以參考下2014-08-08SpringSecurity構(gòu)建基于JWT的登錄認(rèn)證實(shí)現(xiàn)
這篇文章主要介紹了SpringSecurity構(gòu)建基于JWT的登錄認(rèn)證實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02Jackson忽略字段實(shí)現(xiàn)對(duì)字段進(jìn)行序列化和反序列化
在使用?Jackson?進(jìn)行序列化和反序列化時(shí),有時(shí)候需要對(duì)某些字段進(jìn)行過(guò)濾,以便在?JSON?數(shù)據(jù)中不包含某些敏感信息,下面就一起來(lái)了解一下Jackson忽略字段實(shí)現(xiàn)對(duì)字段進(jìn)行序列化和反序2023-10-10