Map和hashMap

![Upload Paste_Image.png failed. Please try again.]

java集合框架基础概念
List/set接口及实现类——ArrayList/hashSet
Map和hashMap##Map接口

1.Map提供了一种映射关系,其中的元素是以键值对(key - value)的形式存储的,能够实现根据key快速查找value
2.Map中的键值对以Entry类型的对象实例形式存在
3.键(key值)不可重复,value值可以重复
4.每个键最多只能映射到一个值
5.Map接口提供了分别返回key值集合,value值集合以及Entry(键值对)集合的方法
6.Map支持泛型,形式如:Map<K,V>


HashMap类

  • HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现的类。
  • HashMap中的entry对象是无序排列的
  • Key值和value值都可以为null,但是一个HashMap只能有一个Key值为null的映射(key值不可重复)

方法:

代码示例:

containsKey和containsValue

  • 1、Map中分别通过containsKey()方法和containsValue()方法判断映射表中是否包含特定的key值和Value值,通过equals()方法遍历映射表中的每一个Key和Value
  • 2、Value值是Object对象,因此containsValue()方法中的参数本质上是某个对象的引用,因此在判断是否包含时,要重写Object对象对应类的equals()方法和hashCode()方法(Map的实现类是HashMap)
    示例代码:
public class MapContains {
    HashMap<Integer,Student> studentMap=new HashMap<Integer, Student>();
    public void testAdd() {
//创建若干学生对象以供测试
        Student student1=new Student("小红");
        Student student2=new Student("小明");
        Student student3=new Student( "小张");

         studentMap.put(1,student1);
         studentMap.put(2,student2);
         studentMap.put(3,student3);
    }
        public void testContains(){
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入学生名字name");
        String name=scanner.next();
        Student student=new Student(name);
        if(studentMap.containsValue(student)){
            System.out.println("含有"+"学生"+student.name);
            System.out.println("测试成功");
        }
            }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    MapContains mapContains=new MapContains();
    mapContains.testAdd();
    mapContains.testContains();

    }
}

输出结果:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,854评论 18 139
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,288评论 0 16
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 1,516评论 0 3
  • HashMap 是 Java 面试必考的知识点,面试官从这个小知识点就可以了解我们对 Java 基础的掌握程度。网...
    野狗子嗷嗷嗷阅读 6,686评论 9 107
  • 小旺才: 今天是你晨跑第18天了!好喜欢这种打卡,不多说,数字证明一切,一切都在行动中。 而你的百词斩也坚持了33...
    樊里洋阅读 168评论 3 6