首页 > 其他分享 >Map中的具体实现子类HashMap

Map中的具体实现子类HashMap

时间:2024-10-16 20:34:16浏览次数:5  
标签:Map HashMap Student3 子类 age map1 public name

一、HashMap

HashMap<Student3,String>
Map的唯一性指的是键的唯一性,HashMap中需要键的类型要重写hashCode()方法和equals方法

二、HashMap的使用

1.编写Student3类,里面需要重写hashCode()方法和equals方法

import java.util.Objects;

public class Student3 {
    private String name;
    private int age;

    public Student3() {
    }

    public Student3(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student3 student3 = (Student3) o;
        return age == student3.age && Objects.equals(name, student3.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

2.编写测试类

public class HashMapDemo1 {
    public static void main(String[] args) {
        HashMap<Student3, String> map1 = new HashMap<>();

        Student3 s1 = new Student3("李刚", 21);
        Student3 s2 = new Student3("钱志强", 22);
        Student3 s3 = new Student3("江川", 21);
        Student3 s4 = new Student3("李刚", 21);
        Student3 s5 = new Student3("吴问强", 23);

        map1.put(s1, "打羽毛球");
        map1.put(s2, "唱");
        map1.put(s3, "跳");
        map1.put(s4, "看美女");
        map1.put(s5, "打游戏");

        System.out.println("map1: " + map1);


    }
}

跟HashSet相似,都需要重写里面的方法

标签:Map,HashMap,Student3,子类,age,map1,public,name
From: https://www.cnblogs.com/ndmtzwdx/p/18470833

相关文章

  • Map集合
    一、Map集合的特点1.元素是键值对构成的2.在同一个Map集合中,键是唯一的3.在同一个Map集合中,值可以发生重复4.一对键值,代表集合中的元素二、Map集合的方法1.Vput(Kkey,Vvalue)向Map集合中添加元素2.Vremove(object0)移除一个键值对3.voidclear()清空Map集合4.boolea......
  • Set集合的直接子类TreeSet
    一、TreeSet:底层数据结构是红黑树(自平衡二叉树),具备了可预测的排序1.自然排序通过实现comparable接口,重写里面的compareTo方法来进行排序1.编写一个Dog类,实现了Comparable接口,并重写里面的方法publicclassDogimplementsComparable<Dog>{privateStringname;pri......
  • Set集合具体实现子类HashSet的子类LinkedHashSet
    一、LinkedHashSet集合的特点:底层数据结构是哈希表和双链表。哈希表保证元素唯一,双链表保证元素有序,元素唯一二、LinkedHashSet集合的使用场景他保持了HashSet集合的特点,所以当我们传入一个对象想要进行去重的时候需要重写里面的hashCode方法和equals方法。publicclassLinke......
  • 关于Gmap.Net在WPF中的运用笔记(二)地图标注及几种图形的绘制
    通过第一篇,我们已经成功的加载了高德地图:https://www.cnblogs.com/zhouxiao123/p/18469933现在,我们来往地图上加点东西。Gmap.Net中,提供了标注类GmapMarker,通过创建标注,在将其添加到地图上,可以实现在地图上标点的功能。准备一张地图标注图,推荐去阿里矢量图库选取,有不少免费的......
  • Set集合的具体子类:HashSet
    一、HashSet的特点:底层数据结构是哈希表,查找速度快,且元素唯一二、HashSet的使用特点:1.向HashSet集合中添加基本数据类型或者String元素的时候会自动去重importjava.util.HashSet;publicclassHashSetDemo1{publicstaticvoidmain(String[]args){//使用......
  • 关于Gmap.Net在WPF中的运用笔记(一)初步加载高德地图
    一、前言最近公司需要开发一个车辆在途轨迹追踪的软件,结合现有系统和技术体系,最终敲定使用WPF+Gmap.Net来实现,这里将一些坑踩一下,做个笔记记录一下。二、项目搭建本项目基于.Net6.0+Gmap.Net.Core+Gmap.Net.WinPresentation,前面是用到的框架版本,后面则是需要用到的地图包,可通......
  • Java遍历Map集合的方法
    Java中遍历  Map 集合的常用方式主要有以下几种:1.使用 keySet()方法遍历 遍历Map的key集合,然后通过key获取value。Map<String,Integer>map=newHashMap<>();map.put("one",1);map.put("two",2);map.put("three",3);for(Stringkey......
  • List集合的具体子类:LinkedList
    一、LinkedList集合的特点:底层的数据结构是双链表,增删快,查询慢,线程不安全,效率高二、特殊功能:publicvoidaddFirst(Ee)及addLast(Ee)addFirst是在集合的第一个位置进行添加,addLast是在集合的最后一个位置进行添加publicEgetFirst()及getLast()getFirst是获取集合的第一......
  • 【C++】C++ STL 树形结构容器全解析:map、set、multimap、multiset 的使用与区别
    C++语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C++相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C++内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与QueuePriority......
  • exchange2016,关闭用户mapi后如何使用anywhere连接
    exchange2016,关闭用户mapi后如何使用anywhere连接问题:在管理控制台关闭了某个用户的mapi,1、如何让用户的outlook使用anywhere连接?2、exchange2016默认情况下,mapi/http优先级总是高于rpc/http?是否可以更改优先级?答案:在这里有两个概念  MAPI  mapioverHTTP    ......