当前位置: 首页 > news >正文

第十三节:第四部分:集合框架:HashMap、LinkedHashMap、TreeMap

Map集合体系

Map集合体系

HashMap集合的底层原理

HashMap集合的底层原理

HashMap集合底层是基于哈希表实现的

HashMap集合底层是基于哈希表实现的

LinkedHashMap集合的底层原理

LinkedHashMap集合的底层原理

TreeMap集合的底层原理

TreeMap集合的底层原理

代码:

Student类

package com.itheima.day26_Map_impl;import java.util.Objects;public class Student implements Comparable<Student> {private String name;private int age;private double height;@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +", height=" + height +'}';}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Student student = (Student) o;return age == student.age && Double.compare(height, student.height) == 0 && Objects.equals(name, student.name);}@Overridepublic int hashCode() {return Objects.hash(name, age, height);}public Student() {}public Student(String name, int age, double height) {this.name = name;this.age = age;this.height = height;}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;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}@Overridepublic int compareTo(Student o) {return this.age - o.age;//年龄升序排序}
}

代码一:掌握Map集合下的实现类:HashMap集合的底层原理

package com.itheima.day26_Map_impl;import java.util.HashMap;//目标:掌握Map集合下的实现类:HashMap集合的底层原理
public class HashMapTest1 {public static void main(String[] args) {HashMap<Student,String> map = new HashMap<>();map.put(new Student( "蜘蛛精",25,168.5),"盘丝洞");map.put(new Student( "蜘蛛精",25,168.5),"水帘洞");map.put(new Student( "至尊宝",27,178.5),"水帘洞");map.put(new Student( "牛魔王",28,188.5),"牛头山");System.out.println(map);}
}

结果1

代码二:目标:掌握LinkedHashMap的底层原理

package com.itheima.day26_Map_impl;import java.util.LinkedHashMap;
import java.util.Map;//目标:掌握LinkedHashMap的底层原理
public class LinkedHashMapTest1 {public static void main(String[] args) {Map<String,Integer> map = new LinkedHashMap<>();//按照键 有序,不重复,无索引。map.put("手机",128);map.put("手机",222);map.put("笔记本",666);map.put("手表",999);map.put(null,null);System.out.println(map);}
}

结果2

代码三:掌握TreeMap集合的使用

package com.itheima.day26_Map_impl;import java.util.Comparator;
import java.util.Map;
import java.util.TreeMap;//目标:掌握TreeMap集合的使用
public class TreeMapTest {public static void main(String[] args) {Map<Student,String> map = new TreeMap<>(new Comparator<Student>() {@Overridepublic int compare(Student o1, Student o2) {return Double.compare(o1.getHeight(), o2.getHeight());}});map.put(new Student( "蜘蛛精",25,168.5),"盘丝洞");map.put(new Student( "蜘蛛精",25,168.5),"水帘洞");map.put(new Student( "至尊宝",27,178.5),"水帘洞");map.put(new Student( "牛魔王",28,188.5),"牛头山");System.out.println(map);}
}

结果3

相关文章:

  • 联邦学习架构深度分析:支持多家医院协作训练AI模型方案分析
  • vue3 eslint ts 关闭多单词命名检查
  • kafka部署
  • 2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案
  • 【Linux篇】0基础之学习操作系统进程
  • SpringCloud——Nacos
  • 免费工具-微软Bing Video Creator
  • 【十年技术演进深度解构:车载充电机(OBC)将成为新能源汽车的“能源大脑”】
  • 软件工程:如何做好软件产品
  • 高效集成AI能力:使用开放API打造问答系统,不用训练模型,也能做出懂知识的AI
  • 倍福 PLC程序解读
  • Linux服务器如何安装wps?
  • 可编辑PPT | 基于大数据中台新能源智能汽车应用解决方案汽车大数据分析与应用解决方案
  • 新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
  • 人工智能的社交课:从博弈游戏到健康关怀
  • elasticsearch-8.17.4
  • Windows 10 IoT 系统深度定制指南:从环境搭建到工业部署
  • 【物联网-S7Comm协议】
  • 桂花网蓝牙网关物联网医院动态血糖管理应用案例
  • 【学习记录】Linux 密码破解实战
  • 低价网站建设浩森宇特/网站软文推广网站
  • 使用别人网站代码做自己的网站/哪个浏览器不屏蔽网站
  • 网站301的作用/营销策划书模板范文
  • 如何在网站做引流/临沂头条新闻今日头条
  • 网站标题被别人改了 应该怎么办/百度搜索引擎优化的推广计划
  • 有什么网站是可以做动态图的/职业技能培训班