Map 集合

《零基础学Java 》


  • Map 集合

在程序中需要存储具有映射关系就需要使用Map集合了。

Map集合由Map接口Map接口的实现类组成。

  • Map 接口

Map接口没有Collection接口。

Map接口**提供了 **Key 到 Value 的映射关系。

Map接口中不能包含相同的 key ,并且每个 Key 只能映射一个 Value。

Map接口常用的方法

(PS:该图片为 明日科技 出版的《零基础学JAVA》中的)

  • Map接口的实现类

    Map接口常用的两种方法

    1. HashMap类:HashMap类是Map接口的实现类。HashMap类能够快速通过哈希表快速查找内部的映射关系,但是不能保证映射的顺序。在 Key(键) - Value(值) 中,Key 不能重复,所以只能有一个 Key 为null,但是可以有多个 Value 为null。
    2. TreeMap类:TreeMap类是Map接口的实现类还实现了 java.util.SortedMap 接口。使用TreeMap类实现的Map集合存储 Key(键) - Value(值) 时,需要对 Key 进行排序,所以Value不能为null

(PS:我们通常使用 HashMap类 去实现Map集合。)

实例演示

import sun.reflect.generics.tree.Tree;

import java.util.*;

public class Demo5 {
    public static void main(String[] args) {
//        Map map = new HashMap();
        Map map = new TreeMap();
        //K(键),v(velue)

        /**
         * HashMap可以放入任何值
         * TreeMap不能保存null值,保存值要是对象
         */

        map.put("String","这是字符串");
        map.put("Object",new Object());
        map.put("int",12345);//不同的键可以保存相同的值
        map.put("数字",12345);
        map.put(1,"1");//TreeMap方法的键值,要是个对象
        map.put(new Object(),new Object());
        map.put(null,null);//HashMap也可以保存null

        System.out.println("map中元素个数:"+map.size());

        Set set = map.keySet();//把所以的K(键)输出
        Iterator iterator = set.iterator();//创建迭代器
//        while (iterator.hasNext()){
////            System.out.println(iterator.next());//输出所有的K(键)
//
//            Object obj = iterator.next();//通过Object对象获取值
//            System.out.println("Key="+obj+"\t\t\tvalue="+map.get(obj));//输出所有的值
//        }
        System.out.println(map.get("String"));//通过键,获取velue值
    }
}
posted on 2022-03-14 17:45  TeaTracing  阅读(68)  评论(0编辑  收藏  举报