java 中map_Java Map集合详解
Map 是一種鍵-值對(key-value)集合,Map 集合中的每一個元素都包含一個鍵對象和一個值對象。其中,鍵對象不允許重復,而值對象可以重復,并且值對象還可以是 Map 類型的,就像數組中的元素還可以是數組一樣。
Map 接口主要有兩個實現類:HashMap 類和 TreeMap 類。其中,HashMap 類按哈希算法來存取鍵對象,而 TreeMap 類可以對鍵對象進行排序。
Map 接口中提供的常用方法如表 1 所示。
表 1 Map接口的常用方法
方法名稱
說明
V get(Object key)
返回 Map 集合中指定鍵對象所對應的值。V 表示值的數據類型
V put(K key, V value)
向 Map 集合中添加鍵-值對,返回 key 以前對應的 value,如果沒有, 則返回 null
V remove(Object key)
從 Map 集合中刪除 key 對應的鍵-值對,返回 key 對應的 value,如果沒有,則返回null
Set entrySet()
返回 Map 集合中所有鍵-值對的 Set 集合,此 Set 集合中元素的數據類型為 Map.Entry
Set keySet()
返回 Map 集合中所有鍵對象的 Set 集合
例 1
每名學生都有屬于自己的唯一編號,即學號。在畢業時需要將該學生的信息從系統中移除。
下面編寫 Java 程序,使用 HashMap 來存儲學生信息,其鍵為學生學號,值為姓名。畢業時,需要用戶輸入學生的學號,并根據學號進行刪除操作。具體的實現代碼如下:
public class Test09 {
public static void main(String[] args) {
HashMap users = new HashMap();
users.put("11", "張浩太"); // 將學生信息鍵值對存儲到Map中
users.put("22", "劉思誠");
users.put("33", "王強文");
users.put("44", "李國量");
users.put("55", "王路路");
System.out.println("******** 學生列表 ********");
Iterator it = users.keySet().iterator();
while (it.hasNext()) {
// 遍歷 Map
Object key = it.next();
Object val = users.get(key);
System.out.println("學號:" + key + ",姓名:" + val);
}
Scanner input = new Scanner(System.in);
System.out.println("請輸入要刪除的學號:");
int num = input.nextInt();
if (users.containsKey(String.valueOf(num))) { // 判斷是否包含指定鍵
users.remove(String.valueOf(num)); // 如果包含就刪除
} else {
System.out.println("該學生不存在!");
}
System.out.println("******** 學生列表 ********");
it = users.keySet().iterator();
while (it.hasNext()) {
Object key = it.next();
Object val = users.get(key);
System.out.println("學號:" + key + ",姓名:" + val);
}
}
}
在該程序中,兩次使用 while 循環遍歷 HashMap 集合。當有學生畢業時,用戶需要輸入該學生的學號,根據學號使用 HashMap 類的 remove() 方法將對應的元素刪除。程序運行結果如下所示。
******** 學生列表 ********
學號:44,姓名:李國量
學號:55,姓名:王路路
學號:22,姓名:劉思誠
學號:33,姓名:王強文
學號:11,姓名:張浩太
請輸入要刪除的學號:
22
******** 學生列表 ********
學號:44,姓名:李國量
學號:55,姓名:王路路
學號:33,姓名:王強文
學號:11,姓名:張浩太
******** 學生列表 ********
學號:44,姓名:李國量
學號:55,姓名:王路路
學號:22,姓名:劉思誠
學號:33,姓名:王強文
學號:11,姓名:張浩太
請輸入要刪除的學號:
44
******** 學生列表 ********
學號:55,姓名:王路路
學號:22,姓名:劉思誠
學號:33,姓名:王強文
學號:11,姓名:張浩太
注意:TreeMap 類的使用方法與 HashMap 類相同,唯一不同的是 TreeMap 類可以對鍵對象進行排序,這里不再贅述。
總結
以上是生活随笔為你收集整理的java 中map_Java Map集合详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中什么是抽象工厂
- 下一篇: fcpx指的是什么软件