Java集合-Map (一)

94 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情

大家好,我是尚影嫣🌷,一名Java后端程序媛。如果您喜欢我的文章,欢迎点赞➕关注❤️,让我们一起成为更好的我们~🥰

image.png

Map

Map是一个键值对映射(key-value)的集合,与Collection没有任何关系。Map的键是无序不可重复的,值可以重复。

一、Map常用方法

常用的方法如下👇

image.png

public V put(K key,V value);

put方法将指定的键和值添加到Map集合中,如果key不重复返回值V是null,如果key重复返回值V是被替换的value值。

二、Map常用实现类

1 HashMap

​ HashMap底层采用哈希表的数据结构,是非线程安全的。

2 HashTable

​ HashTable底层采用哈希表的数据结构,是线程安全的,效率太低,使用较少,现在控制线程安全有其他的方式。

3 SortedMap

​ SortedMap继承Map,所以SortedMap也有无序不可重复的特点,但SortedMap集合中key的元素可以自动按照大小排列,称为可排列集合。

TreeMap ​ TreeMap是SortedMap的实现类,底层采用二叉树的数据结构,无序不可重复,但存入key的元素会按照大小排列。

代码如下:

import java.util.*;

public class CollectionDemo {
    public static void main(String[] args) {
        // 创建一个HashMap集合
        Map<String,Object> map=new HashMap<>();
        // 添加键值对
        map.put("id","111");
        map.put("name","Jerry");
        map.put("age","18");
        map.put("height","18");
        // 判断是否包含某个健
        boolean b = map.containsKey("sex");
        System.out.println(b);
        // 删除集合元素
        map.remove("height");
        // 集合的遍历,1、通过keySet,获取所有的key值,并取出key对应的value
        Set<String> set = map.keySet();
        for (String key:set) {
            System.out.println(key+", value: "+map.get(key));
        }
        // 遍历set集合
        Iterator it=set.iterator();
        while (it.hasNext()){
            String k= (String) it.next();
            System.out.println(k+", value: "+map.get(k));
        }
        // 集合的遍历,2、通过entrySet
        Set<Map.Entry<String, Object>> entries = map.entrySet();
        for (Map.Entry<String, Object> entry: entries) {
            System.out.println(entry.getKey()+", "+entry.getValue());
        }


        Map<String, Object> hashTable=new Hashtable<>();
        hashTable.put("id","222");
        hashTable.put("name","Rosie");
        hashTable.put("age","16");


    }
}
```