Map集合(HashMap,TreeMap)学习总结以及经典案例

Map:

    (1)将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

    (2)Map和Collection的区别?

        A:Map 存储的是键值对形式的元素,键唯一,值可以重复。夫妻对

        B:Collection 存储的是单独出现的元素,子接口Set元素唯一,子接口List元素可重复。光棍

          Map集合的数据结构值针对键有效,跟值无关  

          Collection集合的数据结构是针对元素有效 

    (3)Map接口功能概述

        A:添加功能

           V put(K key,V value):添加元素。

               如果键是第一次存储,就直接存储元素,返回null

               如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值

        B:删除功能

           void clear():移除所有的键值对元素

           V remove(Object key):根据键删除键值对元素,并把值返回

        C:判断功能

           boolean containsKey(Object key):判断集合是否包含指定的键

           boolean containsValue(Object value):判断集合是否包含指定的值

           boolean isEmpty():判断集合是否为空

        D:获取功能

           V get(Object key):根据键获取值

           Set<K> keySet():获取集合中所有键的集合

           Collection<V> values():获取集合中所有值的集合

           Set<Map.Entry<K,V>> entrySet():返回的是键值对对象的集合

        E:长度功能

           int size():返回集合中的键值对的对数

    (4)Map集合的遍历

        A:键找值

            a:获取所有键的集合

            b:遍历键的集合,得到每一个键

            c:根据键到集合中去找值

 

        B:键值对对象找键和值

            a:获取所有的键值对对象的集合

            b:遍历键值对对象的集合,获取每一个键值对对象

            c:根据键值对对象去获取键和值

 

        代码体现:   

        

import java.util.HashMap;

import java.util.Map;

import java.util.Set;



/*

 * Map集合的遍历。

 * Map -- 夫妻对

 * 思路:

 *         A:把所有的丈夫给集中起来。

 *         B:遍历丈夫的集合,获取得到每一个丈夫。

 *         C:让丈夫去找自己的妻子。

 *

 * 转换:

 *         A:获取所有的键

 *         B:遍历键的集合,获取得到每一个键

 *         C:根据键去找值

 */



        // 创建集合对象

        Map<String, String> map = new HashMap<String, String>();



        // 创建元素并添加到集合

        map.put("杨过", "小龙女");

        map.put("郭靖", "黄蓉");

        map.put("杨康", "穆念慈");

        map.put("陈玄风", "梅超风");



        // 遍历

        // 获取所有的键

        Set<String> set = map.keySet();

        // 遍历键的集合,获取得到每一个键

        for (String key : set) {

            // 根据键去找值

            String value = map.get(key);

            System.out.println(key + "---" + value);

        }

    }

}
/*

 * Map集合的遍历。

 * Map -- 夫妻对

 *

 * 思路:

 *         A:获取所有结婚证的集合

 *         B:遍历结婚证的集合,得到每一个结婚证

 *         C:根据结婚证获取丈夫和妻子

 *

 * 转换:

 *         A:获取所有键值对对象的集合

 *         B:遍历键值对对象的集合,得到每一个键值对对象

 *         C:根据键值对对象获取键和值

 *

 */

        // 创建集合对象

        Map<String, String> map = new HashMap<String, String>();



        // 创建元素并添加到集合

        map.put("杨过", "小龙女");

        map.put("郭靖", "黄蓉");

        map.put("杨康", "穆念慈");

        map.put("陈玄风", "梅超风");



        // 获取所有键值对对象的集合

        Set<Map.Entry<String, String>> set = map.entrySet();

        // 遍历键值对对象的集合,得到每一个键值对对象

        for (Map.Entry<String, String> me : set) {

            // 根据键值对对象获取键和值

            String key = me.getKey();

            String value = me.getValue();

            System.out.println(key + "---" + value);

        }

    (5)HashMap集合的练习

        HashMap:是基于哈希表的Map接口实现。 哈希表的作用是用来保证键的唯一性的

        A:HashMap<String,String>

        B:HashMap<Integer,String>


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值