Map集合(双列集合)的基础知识整理

Map集合(双列集合)

在Collection接口下的所有集合中保存的对象都是孤立的,对象和对象之间没有任何关系存在,而在生活中,对象与对象之间往往会有一定的联系,而Map集合就可以对其中的对象进行关系维护,Map接口也是双列集合的顶级接口。

Map集合的特点

public interface Map(K,V)。

①Map集合可以一次性存储两个对象;

②Map集合中保存的是key和value这样的具有一定对应关系的一组数据,即Map集合中存储的其实是一个个键值对;

③Map集合中的key必须保证唯一,即key不能重复,value可以重复,但是一个key只能对应一个value;

④Map集合中的key和value属于一一对应的关系。

Map集合中的常用方法

①增加元素:public V put(K key,V value):把指定的键值对添加到集合中去,当使用该方法存储一个key-value键值对时,先会判断Map集合中有没有该key值的存在,如果没有,则将该key-value对象添加到集合中去,并返回null;如果有,则将Map集合中key值对应的value对象改成key-value对象中的value对象,并返回Map集合中key值对应的原来的value对象。

②删除元素:public V remove(Object key):把指定key值对应的键值对在Map集合中删除,并返回被删除的键值对中的value对象。

③清空集合:public void clear():清空Map集合中的所有元素。

④获取集合中的元素:public V get(Object key):根据指定的key值获取对应的value对象,如果key不存在,则返回null。

⑤public Set<k> keySet():获取Map集合中所有的key值,并存储到Set集合中作为返回值。

⑥public int size():获取Map集合中存储的键值对的个数。

Map集合的遍历

使用keySet方法进行遍历

通过keySet方法,取出Map集合中所有的key值,并存储到Set集合中,最后对该Set集合进行遍历,并通过get方法取出每个key值对应的value对象。

/**
 * @description: 测试类
 * @author: Murphy
 * @date: 2020/7/37:44 上午
 */
public class Demo {
    public static void main(String[] args) {
        HashMap<Integer, String> map = new HashMap<>();
        map.put(1, "张三");
        map.put(2, "李四");
        map.put(3, "王五");
        map.put(4, "陈六");
        Set<Integer> set = map.keySet();
        for (int i :
                set) {
            System.out.println(i + "-" + map.get(i));
        }
    }
使用entrySet方法进行遍历

Map集合中提供的entrySet方法可以获取当前Map集合中所有的key和value的对应关系对象,然后将这些对象作为一个整体存储到一个Set集合中。存储在该Set集合中的对象属于Map.Entry类型,Map.Entry表示在Map接口中还有一个内部接口Entry,在该内部接口中有如下方法:

①getKey( )方法:通过Map.Entry类型的对象调用该方法可获得对象中的key值。

②getValue( )方法:通过Map.Entry类型的对象调用该方法可获得对象中的value值。

public class Demo {
    public static void main(String[] args) {
        HashMap<Integer, String> map = new HashMap<>();
        map.put(1, "张三");
        map.put(2, "李四");
        map.put(3, "王五");
        map.put(4, "陈六");
        Set<Map.Entry<Integer, String>> entries = map.entrySet();
        for (Map.Entry<Integer, String> entrie :
                entries) {
            int i = entrie.getKey();
            String name = entrie.getValue();
            System.out.println(i + "-" + name);
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值