首页 > 其他分享 >Map集合

Map集合

时间:2022-12-18 10:35:06浏览次数:31  
标签:Map key map value Student 集合

一 Map特点

1 双列集合 ,一个键(key)对应一个值(value)

2 键不可以重复,值可以重复(因为键是由Set集合组成的)

3 值可以null

  • 所以 定义一个泛型为String类型的List集合,统计该集合中每个字符出现的次数——>字符--次数:一一对应关系,所以用HashMap

二 Map集合常用方法

put(K key,V value) 向map中添加元素
size() 获取map集合的大小
containsKey(K k) 判断集合中是否包含指定的键
containsValue(V v) 判断集合中是否包含指定的值
isEmpty() 判断集合是否为空
clear() 清空
remove(K k) 删除

:如果键存在,值会进行覆盖

三 Map集合的两种遍历方式

1 keySet()方法

通过Keyset()获取所有的key然后通过Key获取对应的value

HashMap<Student,String> map = new HashMap<>();
    Student s1 = new Student("棒棒",19);
    Student s2 = new Student("滴滴",18);
    Student s3 = new Student("跳跳",17);
    map.put(s1,"内蒙");
    map.put(s2,"湖南");
    map.put(s3,"南京");
    //方法一:使用KeySet获取所有的key
    Set<Student> keys=map.keySet();
    for (Student key : keys) {
       String value=map.get(keys);
       System.out.println(key+"-"+value);
    }

2 entrySet()方法

通过entrySet()获取所有的key value,然后通过Key获取对应的value

方法二:使用EntrySet获取键和值
   Set<Map.Entry<Student,String>> entries=map.entrySet();
    for (Map.Entry<Student, String> entry : entries) {
        Student key=entry.getKey();
        String value=entry.getValue();
        System.out.println(key+"-"+value);

HashMap集合底层原理

是哈希表结构
依赖hashCode()方法和equals()方法保证键唯一性
如果键要存储的是自定义对象,要重写hashCode()和equals()方法

TreeMap集合底层原理

是红黑树结构
依赖自然排序或者比较器排序,对键进行排序
如果键要存储自定义对象,要定义排序的规则

 

标签:Map,key,map,value,Student,集合
From: https://www.cnblogs.com/Sco-/p/16990052.html

相关文章

  • springboot配置自定义objectMapper
      packagecom.my.config;importcom.fasterxml.jackson.annotation.JsonInclude;importcom.fasterxml.jackson.core.JsonGenerator;importcom.fasterxml.jackso......
  • java操作hadoop之MapReduce
    1.Mapper文件WordCountMapper.javapackagecom.hdfs;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.LongWritable;importorg.apache.hadoop.io.Te......
  • redis底层数据结构之整数集合(intset)
    整数集合(intset)当一个集合只包含整数值元素,并且这个集合的元素数量不多时,redis会使用整数集合(intset)作为集合键的底层实现整数集合用于保存整数值的集合抽象数据类型......
  • 数组或者集合的选择
    想展示菜单,先找一个容器把所有的菜存起来,用户查看的时候直接展示。集合数组都是容器,但是数组的长度不好变化,集合更方便。定义集合表示饭店拥有的菜品。循环输出集合元素点的......
  • 27python的匿名函数与map函数
    在Python中,可以使用lambda关键字来创建匿名函数。这些函数不需要名字,因为它们通常只使用一次。下面是一个例子:lambdax:x**2这是一个计算平方的匿名函数。它接受......
  • 谨慎集合的属性的可写操作
    在对集合进行线程间的操作时要分外小心,集合属性开放可写操作。由于集合是引用类型,在两个线程中改变同一个集合,可能会导致另一个线程访问时出错。 classStudent{......
  • 第十三章《集合》第2节:List集合
    List这个单词意为“列表”,List类型的集合的特点是:元素呈线性排列,致密且有序。下面的图13-3展示了List类型集合的特点。图13-3List类型集合图13-3中的每一个小圆形代表一个......
  • RequestMappingHandlerMapping请求地址映射流程!
    上篇文章里,我们讲解了RequestMappingHandlerMapping请求地址映射的初始化流程,理解了@Controller和@RequestMapping是如何被加载到缓存中的。今天我们来进一步学习,在接收到......
  • 百度map 3.0初探
    1.简介    在使用百度地图SDK为您提供的各种LBS能力之前,您需要获取百度地图移动版的开发密钥,该密钥与您的百度账户相关联。因此,您必须先有百度帐户,才能获得开发密钥。并......
  • PHP 获取二维数组中某个key的集合
    本文为代码分享,也是在工作中看到一些“大牛”的代码,做做分享。具体是这样的,如下一个二维数组,是从库中读取出来的。代码清单: 1.$user=array(2.array(3.'id'......