学习JAVA的第十六天(基础)

本文介绍了Java中的Map双列集合,包括其特点、Map接口的方法以及常用的实现类(HashMap、LinkedHashMap和TreeMap)。讲解了键值对的处理、键找值的遍历方式以及使用Lambda表达式进行遍历。同时提到了可变参数的概念和注意事项。
摘要由CSDN通过智能技术生成

目录

双列集合

Map双列集合 

遍历方式

键找值

键值对

  Lambda表达式

HashMap集合

LinkedHashMap集合

TreeMap集合

可变参数


 

           前言:学习JAVA的第十五天(基础)-CSDN博客

双列集合

特点:

                        双列集合一次需要存放一对数据,分别为键和值

                        键不能重复,值可以重复

                        键和值是一一对应的,每个键只能找到自己对应的值

                        键和值被称为键值对,java中叫Entry对象

Map双列集合 

                map是双列集合的顶层接口,它的功能是双列集合都可以继承使用

方法:

方法名说明
V put(k  key, V value)添加元素
V remove(Object key)根据键删除键值对元素
void clear()移除所有键值对元素
boolean  containsKey(Object key)判断集合是否包含指定的键
boolean  containsValue(Object value)判断集合是否包含指定的值
boolean  isEmpty()判断集合是否为空
int  size()判断集合的长度,键值对的个数

测试类

 public static void main(String[] args) {
        //创建Map集合对象
        Map<String,String>  m = new HashMap<>();

        //添加元素 覆盖相同键的值
        m.put("zzz","vvv");
        System.out.print(m);//{zzz=vvv}

        //删除元素
        m.put("aaa","ccc");
        m.remove("zzz");
        System.out.println(m);//{aaa=ccc}

        //清空
        m.clear();
        System.out.println(m);//{}

        //判断是否包含
        m.put("aaa","bbb");
        boolean result1 = m.containsKey("aaa");
        boolean result2 = m.containsKey("bbb");
        System.out.println(result1);//true
        System.out.println(result2);//false

        
    }

遍历方式

①键找值

②键值对

③Lambda表达式

键找值
 public static void main(String[] args) {
        //创建map集合的实现类
        Map<String,String> m = new HashMap<>();

        //添加元素
        m.put("aaa","ccc");
        m.put("bbb","ddd");
        m.put("ccc","eee");

        //键找值
        Set<String> keys = m.keySet();
        //遍历单列集合
        for (String key : keys) {
//            System.out.println(key);
            String value = m.get(key);
            System.out.println(key+"="+value);
        }


    }
键值对
 public static void main(String[] args) {
        //创建Map集合的实现类
        Map<String,String> m = new HashMap<>();

        //添加元素
        m.put("red","m");
        m.put("blue","z");
        m.put("green","x");

        //键值对
        Set<Map.Entry<String,String>> s = m.entrySet();
        //遍历键值对对象
        for (Map.Entry<String, String> Entry : s) {
            System.out.println(Entry.getKey()+"="+Entry.getValue());
        }
    }
  Lambda表达式
  public static void main(String[] args) {
        //创建Map对象
        Map<String,String> m = new HashMap<>();

        //添加元素
        m.put("aaa","ccc");
        m.put("bbb","ddd");
        m.put("ccc","eee");

        //利用Lambda表达式遍历
        m.forEach((key,value)->System.out.println(key+"="+value));
     }

HashMap集合

                        HashMap是Map里面的实现类

底层:和HashSet一样,数据结构都是哈希表 

哈希值:利用计算哈希值

                哈希值一样,值也一样,后面添加的会覆盖前面的

由键决定特点:无序,无索引,不重复

LinkedHashMap集合

由键决定特点:有序,不重复,无索引

底层:利用哈希表数据结构,但有双链表的机制记录键值对元素存储的顺序

TreeMap集合

                TreeMapTreeSet一样,底层都是红黑树结构

由键决定特点:可排序,不重复,无索引

可变参数

本质:就是一个数组

作用:形参可以接受多个不定的数据

格式:数据类型...变量名

 注意:

           在形参列表中,可变参数只能有一个

           可变参数必须放在形参列表最后面

 

  • 32
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值