JAVA中的 map,list,set
1、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)?

2、Collection集合主要有List和Set兩大接口
- (1)List:是一個(gè)有序,元素可以重復(fù)。常用的實(shí)現(xiàn)類有
ArrayList、LinkedList和 Vector。 - (2)Set:是一個(gè)無序,不可以存儲(chǔ)重復(fù)元素,只允許存入一個(gè)
null元素,Set 接口常用實(shí)現(xiàn)類是HashSet、LinkedHashSet 以及TreeSet。
3、Map
Map是一個(gè)鍵值對(duì)集合,存儲(chǔ)鍵、值和之間的映射。 Key無序,唯一;value 不要求有序,允許重復(fù)。Map沒有繼承于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));
}
}
}
到此這篇關(guān)于JAVA中的 map,list,set的文章就介紹到這了,更多相關(guān)JAVA map、list、set內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java中集合List、Set和Map的入門詳細(xì)介紹
- Java集合框架之Set和Map詳解
- Java?集合框架掌握?Map?和?Set?的使用(內(nèi)含哈希表源碼解讀及面試??碱})
- Java多線程高并發(fā)中解決ArrayList與HashSet和HashMap不安全的方案
- 深入解讀Java三大集合之map list set的用法
- java中Map、Set、List的簡(jiǎn)單使用教程(快速入門)
- Java HashSet(散列集),HashMap(散列映射)的簡(jiǎn)單介紹
- java的各種集合為什么不安全(List、Set、Map)以及代替方案
- Java數(shù)據(jù)結(jié)構(gòu)之Map與Set專篇講解
相關(guān)文章
IntelliJ?IDEA?代碼運(yùn)行時(shí)中文出現(xiàn)亂碼問題及解決方法
在我們剛接觸到IDEA時(shí),想美滋滋的敲一個(gè)“hello?world”來問候這個(gè)世界,但難免會(huì)遇到這種問題亂碼,這篇文章主要介紹了解決IntelliJ?IDEA?代碼運(yùn)行時(shí)中文出現(xiàn)亂碼問題,需要的朋友可以參考下2023-09-09
Javaweb項(xiàng)目session超時(shí)解決方案
這篇文章主要介紹了Javaweb項(xiàng)目session超時(shí)解決方案,關(guān)于解決方案分類比較明確,內(nèi)容詳細(xì),需要的朋友可以參考下。2017-09-09
SpringBoot配置shiro安全框架的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot配置shiro安全框架的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(52)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你2021-08-08
Java并發(fā)編程示例(七):守護(hù)線程的創(chuàng)建和運(yùn)行
這篇文章主要介紹了Java并發(fā)編程示例(七):守護(hù)線程的創(chuàng)建和運(yùn)行,在本節(jié)示例中,我們將創(chuàng)建兩個(gè)線程,一個(gè)是普通線程,向隊(duì)列中寫入事件,另外一個(gè)是守護(hù)線程,清除隊(duì)列中的事件,需要的朋友可以參考下2014-12-12

