双列集合基础知识

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

package exercise;import java.util.HashMap;
import java.util.Map;public class Demo1 {public static void main(String[] args) {Map<String, String> map = new HashMap<>();//在添加数据的时候,如果键不存在,那么直接把键值对对象添加到map集合当中,方法返回null//在添加数据的时候,如果键是存在的,那么会把原有的键值对对象覆盖,会把被覆盖的 值 进行返回。map.put("sunshine", "23");String sunshine = map.put("sunshine", "20");System.out.println(sunshine);map.put("jiuselu", "24");map.put("lulushui", "25");System.out.println(map);System.out.println("----------------------------------");String remove = map.remove("sunshine");System.out.println(remove);System.out.println(map);System.out.println("----------------------------------");map.clear();System.out.println(map);System.out.println("----------------------------------");boolean b = map.containsKey("sunshine");System.out.println(b);boolean b1 = map.containsValue("23");System.out.println(b1);System.out.println("----------------------------------");boolean empty = map.isEmpty();System.out.println(empty);System.out.println("----------------------------------");System.out.println(map.size());}
}

在这里插入图片描述
在这里插入图片描述

package exercise;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;public class Demo2 {public static void main(String[] args) {Map<String, String> m = new HashMap<>();m.put("sunshine", "23");m.put("jiuselu", "24");m.put("lulushui", "25");Set<String> keys = m.keySet();keys.forEach(new Consumer<String>() {@Overridepublic void accept(String key) {String value = m.get(key);System.out.println(key + "=" + value);}});}
}

在这里插入图片描述

package exercise;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;public class Demo2 {public static void main(String[] args) {Map<String, String> m = new HashMap<>();m.put("sunshine", "23");m.put("jiuselu", "24");m.put("lulushui", "25");//获取所有键值对对象entrySet<Map.Entry<String, String>> entries = m.entrySet();for (Map.Entry<String, String> entry : entries) {System.out.println(entry.getKey() + "=" + entry.getValue());}}
}

在这里插入图片描述

package exercise;import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;public class Demo3 {public static void main(String[] args) {Map<String, String> m = new HashMap<>();m.put("sunshine", "23");m.put("jiuselu", "24");m.put("lulushui", "25");m.forEach((key, value) -> System.out.println(key + "=" + value));}
}

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

package exercise;import java.util.HashMap;
import java.util.Objects;
import java.util.function.BiConsumer;public class Demo4 {public static void main(String[] args) {HashMap<Student, String> h = new HashMap<>();h.put(new Student("sunshine", 23), "hei");h.put(new Student("sunshine", 23), "long");h.put(new Student("lulushi", 25), "jiang");h.forEach(new BiConsumer<Student, String>() {@Overridepublic void accept(Student student, String s) {System.out.println(student + "=" + s);}});}
}class Student {private String name;private int age;public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}/*** 获取** @return name*/public String getName() {return name;}/*** 设置** @param name*/public void setName(String name) {this.name = name;}/*** 获取** @return age*/public int getAge() {return age;}/*** 设置** @param age*/public void setAge(int age) {this.age = age;}@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 && Objects.equals(name, student.name);}@Overridepublic int hashCode() {return Objects.hash(name, age);}public String toString() {return "Student{name = " + name + ", age = " + age + "}";}
}

在这里插入图片描述

package exercise;import java.util.*;public class Deno5 {public static void main(String[] args) {//定义数组,存储4个景点String[] arr = {"A", "B", "C", "D"};//利用随机数模拟80个同学投票,并把投票的结果存储起来ArrayList<String> list = new ArrayList<>();Random r = new Random();for (int i = 0; i < 80; i++) {int index = r.nextInt(arr.length);list.add(arr[index]);}//2.如果要统计的东西比较多,不方便使用计数器思想//我们可以定义map集合,利用集合进行统计HashMap<String, Integer> hm = new HashMap<>();for (String name : list) {//判断当前景点在map集合当中是否存在if (hm.containsKey(name)) {//存在//获取当前景点已经存在的次数Integer count = hm.get(name);//表示当前景点又被投了一次count++;//把新的次数再次添加到集合中hm.put(name, count);} else {//不存在hm.put(name, 1);}}System.out.println(hm);//求最大值int max = 0;Set<Map.Entry<String, Integer>> entries = hm.entrySet();for (Map.Entry<String, Integer> entry : entries) {Integer count = entry.getValue();if (max < count) {max = count;}}System.out.println(max);//判断哪个景点的次数和最大值一样,如果一样,打印出来for (Map.Entry<String, Integer> entry : entries) {Integer count = entry.getValue();if (max == count) {System.out.println(entry.getKey());}}}
}

在这里插入图片描述

package exercise;import java.util.LinkedHashMap;public class Demo6 {public static void main(String[] args) {LinkedHashMap<String, Integer> l = new LinkedHashMap<>();l.put("sunshine", 23);l.put("jiuselu", 24);l.put("lulushui", 25);System.out.println(l);}
}

在这里插入图片描述
在这里插入图片描述
需求一:

tips:o1-o2:升序o2-o1:降序
package exercise;import java.util.Comparator;
import java.util.TreeMap;public class Demo7 {public static void main(String[] args) {TreeMap<Integer, String> tp = new TreeMap<>(new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o2 - o1;}});tp.put(1, "芭蕉");tp.put(2, "榴莲");tp.put(3, "荔枝");System.out.println(tp);}
}

需求二:

package exercise;import java.util.TreeMap;public class Demo8 {public static void main(String[] args) {TreeMap<Student, String> tp = new TreeMap<>();tp.put(new Student("sunshine", 23), "hei");tp.put(new Student("jiuselu", 24), "long");tp.put(new Student("lulushui", 25), "jiang");System.out.println(tp);}
}class Student implements Comparable<Student> {private String name;private int age;public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}/*** 获取** @return name*/public String getName() {return name;}/*** 设置** @param name*/public void setName(String name) {this.name = name;}/*** 获取** @return age*/public int getAge() {return age;}/*** 设置** @param age*/public void setAge(int age) {this.age = age;}public String toString() {return "Student{name = " + name + ", age = " + age + "}";}//o.getAge-this.getAge:按照年龄降序排列//this.getAge-o.getAge:按照年龄升序排列@Overridepublic int compareTo(Student o) {int i = o.getAge() - this.getAge();i = i == 0 ? this.getName().compareTo(o.getName()) : i;return i;}
}

在这里插入图片描述

package exercise;import java.util.Map;
import java.util.Set;
import java.util.TreeMap;public class Demo9 {public static void main(String[] args) {String str = "aababcabcdabcde";TreeMap<Character, Integer> tm = new TreeMap<>();for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);if (tm.containsKey(c)) {Integer count = tm.get(c);count++;tm.put(c, count);} else {tm.put(c, 1);}}Set<Map.Entry<Character, Integer>> entries = tm.entrySet();for (Map.Entry<Character, Integer> entry : entries) {System.out.print(entry.getKey() + "(" + entry.getValue() + ")");}}
}

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/344178.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

引入AI图像识别技术,优化旧物回收系统的分类与识别流程

技术革新的必要性&#xff1a; 在旧物回收领域&#xff0c;随着回收量的不断增长和旧物种类的日益丰富&#xff0c;传统的分类与识别方法已经无法满足现代回收系统的需求。因此&#xff0c;引入AI图像识别技术成为了优化旧物回收流程、提高分类准确性与效率的必然选择。 AI图…

k8s之deployments相关操作

k8s之deployments相关操作 介绍 官网是这样说明如下&#xff1a; 一个 Deployment 为 Pod 和 ReplicaSet 提供声明式的更新能力。 你负责描述 Deployment 中的目标状态&#xff0c;而 Deployment 控制器&#xff08;Controller&#xff09; 以受控速率更改实际状态&#xf…

Web 版 | 开源数据库设计软件 | drawdb

文章目录 简介快速运行方式 1:本地运行方式 2:Docker 构建并运行方式 3:Docker 运行参考🚀 目标: 安装一个 Web 版本的 ER 图设计软件! 👉 GitHub: https://github.com/drawdb-io/drawdb 【11.7k ⭐】 简介 DrawDB:Free, simple, and intuitive database design …

【纯血鸿蒙】——自适应布局如何实现?

界面级一多能力有 2 类&#xff1a; 自适应布局: 略微调整界面结构 响应式布局&#xff1a;比较大的界面调整 本文章先主要讲解自适应布局&#xff0c;响应式布局再后面文章再细讲。话不多说&#xff0c;开始了。 自适应布局 针对常见的开发场景&#xff0c;方舟开发框架提…

Docker入门教程

文章目录 前言一、什么是Docker&#xff1f;二、为什么选择Docker三、Docker的基本组成四、Docker的安装五、Docker的常用命令六、DockerFile什么是DockerFile&#xff1f; 六、Docker volume什么是Docker volume&#xff1f;常用命令 总结 前言 随着云计算和微服务架构的兴起…

wireshark 标记自己想要的数据包

1:点击视图 2:点击视图-着色规则 点击新增一行,双击名称-进行编辑 过滤器规则-编辑自己想要看到的 点击前景-选择凸出显示颜色 点击背景--选择凸出显示颜色 点击确定按钮

苹果手机微信如何直接打印文件

在快节奏的工作和生活中&#xff0c;打印文件的需求无处不在。但你是否曾经遇到过这样的困扰&#xff1a;打印店价格高昂&#xff0c;让你望而却步&#xff1f;今天&#xff0c;我要给大家介绍一款神奇的微信小程序——琢贝云打印&#xff0c;让你的苹果手机微信直接变身移动打…

45-1 waf绕过 - 文件上传绕过WAF方法

环境准备: 43-5 waf绕过 - 安全狗简介及安装-CSDN博客然后安装dvwa靶场:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客打开dvwa靶场,先将靶场的安全等级调低,然后切换到文件上传 一、符号变异 在PHP中,由于其弱类型特性,有时候仅有一…

计算机网络 —— 网络层(子网掩码和子网划分)

计算机网络 —— 网络层&#xff08;子网掩码和子网划分&#xff09; 网络地址转换NAT子网掩码和子网划分举个例子第一步&#xff1a;看类型第二步&#xff1a;从主机号开始比对第三步&#xff1a;去头去尾 我们今天来看子网掩码和子网划分&#xff1a; 网络地址转换NAT 网络…

DDei在线设计器-DDeiCore-布局插件

DDei-Core-布局 如需了解详细的API教程以及参数说明&#xff0c;请参考DDei文档 标准布局 经典的框架结构布局&#xff0c;包含了顶部菜单栏、控件工具项、画布、属性面板和底部工具栏等功能面板&#xff0c;通过插件配置可以调整每个部分的顺序和内容。 效果截图 使用方式…

贝锐蒲公英异地组网:降低建筑工地远程视频监控成本、简化运维

中联建设集团股份有限公司是一家建筑行业的施工单位&#xff0c;专注于建筑施工&#xff0c;业务涉及市政公用工程施工总承包、水利水电工程施工总承包、公路工程施工总承包、城市园林绿化专业承包等&#xff0c;在全国各地开展有多个建筑项目&#xff0c;并且项目时间周期可能…

基于拓扑漏洞分析的网络安全态势感知模型

漏洞态势分析是指通过获取网络系统中的漏洞信息、拓扑信息、攻击信息等&#xff0c;分析网络资产可能遭受的安全威胁以及预测攻击者利用漏洞可能发动的攻击&#xff0c;构建拓扑漏洞图&#xff0c;展示网络中可能存在的薄弱环节&#xff0c;以此来评估网络安全状态。 在网络安…

4.通用编程概念

目录 一、变量与常量1.1 变量1.2 常量 二、遮蔽三、数据类型3.1 标量类型1. 整型2. 浮点型3. 布尔类型4.字符类型 3.2 复合类型1. 元组2. 数组 四、函数五、语句和表达式六、函数的返回值 一、变量与常量 1.1 变量 在Rust中默认的变量是不可变的&#xff0c;如果修改其值会导致…

Python 如何判断一组数呈上升还是下降趋势

在数据分析和统计处理中&#xff0c;我们经常需要判断一组数的趋势是上升还是下降。这在金融市场分析、销售数据监控以及科学研究中都十分常见。本文将介绍如何使用Python来判断一组数的趋势&#xff0c;并结合实际案例进行详细阐述。 一、基本方法 判断一组数的趋势主要有以…

Kafka监控系统efak的安装

下载地址Kafka Eaglehttp://download.kafka-eagle.org/下载地址连接不稳定&#xff0c;可以多次尝试直到成功连接下载 1.解压安装包并重命名 tar -zxvf kafka-eagle-bin-3.0.1.tar.gz 查看到解压后包含一个安装包&#xff0c;再解压 tar -zxvf efak-web-3.0.1-bin.tar.gz 移…

AI-WEB-1 vulnhub靶场

AI-WEB-1 端口扫描 仅开放80端口 访问80端口 啥也没有 目录扫描 查看robots.txt 发现两个新目录 Disallow: /m3diNf0/ Disallow: /se3reTdir777/uploads/全都无权限访问 加入路径后再次扫描目录 发现/m3diNf0/目录下存在info.php&#xff0c;/se3reTdir777/目录下存在ind…

ChatGPT3.5和ChatGPT4.0、ChatGPT4o对比

一、ChatGPT3.5、ChatGPT4.0、ChatGPT4o对比 目前ChatGPT有三个主要版本&#xff0c;分别是ChatGPT3.5、ChatGPT4.0、ChatGPT4o&#xff0c;这三个版本之间有什么差异呢&#xff1f; 对比项ChatGPT3.5ChatGPT4.0ChatGPT4o参数数量1750亿约1万亿未公开输入文本文本、图片文本、…

【栈】736. Lisp 语法解析

本文涉及知识点 栈 LeetCode736. Lisp 语法解析 给你一个类似 Lisp 语句的字符串表达式 expression&#xff0c;求出其计算结果。 表达式语法如下所示: 表达式可以为整数&#xff0c;let 表达式&#xff0c;add 表达式&#xff0c;mult 表达式&#xff0c;或赋值的变量。表达…

【计算视觉】学习计算机视觉你不得不膜拜的CVPR大神:何凯明

目录 第一章&#xff1a;CVPR——计算机视觉的终极擂台 第二章&#xff1a;何凯明——计算机视觉领域的耀眼星辰 第三章&#xff1a;高引用论文——计算机视觉研究的璀璨星辰 第四章&#xff1a;何凯明的CVPR论文——深度学习的探索之旅 第五章&#xff1a;结语——向何凯…