Map接口(简述)

Map接口概述

将键映射到值的对象
一个映射不能包含重复的键
每个键最多只能映射到一个值
Map分类
HashMap
HashMap中元素的key值不能重复,即彼此调用equals方法,返回为false。排列顺序是不固定的。
TreeMap
TreeMap中所有的元素都保持着某种固定的顺序,如果需要得到一个有序的Map就应该使用TreeMap,key值所在类必须实现Comparable接口。
HashTable
实现了同步。
其中 TreeMap
适用于按自然顺序或自定义顺序遍历键(key)。
TreeMap根据key值排序,key值需要实现Comparable接口,
重写compareTo方法。TreeMap根据compareTo的逻辑,对
key进行排序。
键是红黑树结构,可以保证键的排序和唯一性

    package com.xufeihu.javaajihe.day6;

    import java.util.HashMap;
    import java.util.Hashtable;
    import java.util.TreeMap;

    public class HashMapDemo {
        public static void main(String[] args) {
            HashMap<String, String> map = new HashMap<>();
            /*
            map中以键值对方式存储
            键不能重复 若重复存储则后者覆盖前者    值可重复存储
            hashmap中的键不可存储null
            无序的    初始容量为11
             */
            map.put("1", "q");
            map.put("2", "q");
            map.put("344", "z");
            map.put("6", "q");
            map.put("8", "xxx");
            map.put("1", "e");
            map.put("null", "e");
            map.remove("2");//删除键数为2的数
            System.out.println(map.size());//输出map中拥有多少对键值对
            System.out.println(map.containsKey(1));//测试map中是否包含键值为数字1的键  返回true或false
            System.out.println(map.containsValue("q"));//测试map中是否包含值为"q"的值   返回true或false
            System.out.println(map.isEmpty());//判断map中的键值对个数是否为空   返回truehuofalse
            System.out.println(map);
            //HashTable 中的键位可以存储null
            Hashtable<String, String> ht = new Hashtable<>();
            ht.put("2", "e");
            ht.put("3", "e");
            ht.put("4", "e");
            ht.put("6", "e");
            ht.put("null", "e");
            System.out.println(ht);
            /*
                TreeMap须继承接口Comparable接口  方可实现键的自然顺序排序
             */
            TreeMap<String, String> tm = new TreeMap<>();
            tm.put("a", "1");
            tm.put("b", "1");
            tm.put("a", "1");
            tm.put("e", "1");
            tm.put("c", "1");
            System.out.println(tm);


        }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值