双列集合基础知识

2024-06-09 03:44
文章标签 集合 基础知识 双列

本文主要是介绍双列集合基础知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

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.chinasem.cn/article/1044133

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

计组基础知识

操作系统的特征 并发共享虚拟异步 操作系统的功能 1、资源分配,资源回收硬件资源 CPU、内存、硬盘、I/O设备。2、为应⽤程序提供服务操作系统将硬件资源的操作封装起来,提供相对统⼀的接⼝(系统调⽤)供开发者调⽤。3、管理应⽤程序即控制进程的⽣命周期:进程开始时的环境配置和资源分配、进程结束后的资源回收、进程调度等。4、操作系统内核的功能(1)进程调度能⼒: 管理进程、线

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

Java基础回顾系列-第六天-Java集合

Java基础回顾系列-第六天-Java集合 集合概述数组的弊端集合框架的优点Java集合关系图集合框架体系图java.util.Collection接口 List集合java.util.List接口java.util.ArrayListjava.util.LinkedListjava.util.Vector Set集合java.util.Set接口java.util.HashSetjava

【408数据结构】散列 (哈希)知识点集合复习考点题目

苏泽  “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家    知识点 1. 散列查找 散列查找是一种高效的查找方法,它通过散列函数将关键字映射到数组的一个位置,从而实现快速查找。这种方法的时间复杂度平均为(

java集合的概述

集合就是一个容器,我们可以把多个对象放入的容器中。就像水杯(假设容量可以不断扩大)一样,你可以往水杯中不断地添加水,既然是水杯,你就不能往里添加沙子,也就是说集合中添加的对象必须是同一个类型的(引用类型,而不能是基本类型)。 看到集合的介绍会让我们的想起数组,那么集合和数组有什么区别呢? 首先,数组的大小是固定的,而集合理论上大小是不限的。 其次,数组既可以存储基本数据类型的数据,也可以存储

关于回调函数和钩子函数基础知识的整理

回调函数:Callback Function 什么是回调函数? 首先做一个形象的比喻:   你有一个任务,但是有一部分你不会做,或者说不愿做,所以我来帮你做这部分,你做你其它的任务工作或者等着我的消息,但是当我完成的时候我要通知你我做好了,你可以用了,我怎么通知你呢?你给我一部手机,让我做完后给你打电话,我就打给你了,你拿到我的成果加到你的工作中,继续完成其它的工作.这就叫回叫,手机

有关机械硬盘的基础知识

1,机械硬盘的品牌   目前市场中常见的笔记本电脑的机械硬盘品牌主要有希捷、西部数据、三星等。   2,机械硬盘的容量   硬盘容量,即硬盘所能存储的最大数据量。虽然笔记本电脑硬盘的容量会因单位密度的提升而增加,不过和台式电脑的大容量比起来,笔记本电脑硬盘的容量仍然落后许多。笔记本电脑的硬盘除了对磁盘有体积较小和数量较少的要求之外,对功耗、耐用程度、抗震性及成本等的考虑,也让笔记