Map集合类和Set集合类介绍和题目演练

news/2025/3/12 9:09:06/文章来源:https://www.cnblogs.com/505-jw/p/18617004

Map集合的介绍、定义和特点

Map是一种将键(key)映射到值(value)的对象。在Java中,它是一个接口,有像HashMap、TreeMap等多种实现类。

  • 定义:以键值对(key - value)的形式存储数据。键是唯一的,通过键可以快速查找、获取对应的值。例如,存储学生学号(键)和学生姓名(值)的信息集合。
  • 特点:
    键的唯一性。一个键在Map中只能对应一个值,如果添加相同的键,新值会覆盖旧值。
    无序性(部分实现类无序)。像HashMap就不保证键值对的存储顺序和插入顺序相同,不过TreeMap会根据键的自然顺序或者自定义比较器来排序存储。
    可以存储不同类型的键和值,如键为String类型,值为自定义对象类型。

Map集合定义的主要方法

image

Map集合类题目练习

image

HsMap1.JAVA

点击查看代码
package LX2;
import java.util.Map;
import java.util.HashMap;
import java.util.Set;public class HsMap1 {public static void main(String[] args) {String[] provinces ={"黑龙江省","浙江省","江西省","广东省","福建省"};String[] cities={"哈尔滨","杭州","南昌","广州","福州"};Map<String,String> map = new HashMap<>();for (int i =0;i<provinces.length;i++){map.put(provinces[i],cities[i]);}map.remove("黑龙江省");Set<Map.Entry<String,String>> set = map.entrySet();for (Map.Entry<String,String> x : set) {System.out.println(x.getKey()+"="+x.getValue());}}
}

运行结果

image

Set集合的介绍、定义和特点

Set是一个不包含重复元素的集合。

  • 定义:它是一种用于存储元素的数据结构,主要目的是确保集合中的元素具有唯一性,就像一个数学中的集合概念一样,把具有相同性质的元素放在一起,且每个元素只出现一次。例如,存储班级里所有学生的名字,相同名字只会保存一个。
  • 特点:
    元素唯一性:不允许有重复元素。当尝试添加一个已经存在于Set中的元素时,添加操作通常会被忽略。
    无序性(大部分实现类):像HashSet,元素的存储顺序和添加顺序没有固定关联,内部是通过哈希算法存储元素;不过有个例外是LinkedHashSet,它可以按照元素插入的顺序来遍历集合。

Set集合题目练习

image

HStest3.JAVA

点击查看代码
package Lx3;
import java.util.*;public class HStest3 {public static void main(String[] args) {String[] strs = {"12345","67891","12347809933","98765432102","67891","12347809933"};List<String> list = new LinkedList<>();for (String s: strs){list.add(s);}Iterator iterator = list.iterator();while (iterator.hasNext()){System.out.println(iterator.next()+" ");}Set<String> set = new LinkedHashSet<>(list);list.clear();list.addAll(set);for (String str : list){System.out.println(str+" ");}}
}

运行结果

image

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

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

相关文章

vue-实现loading页面

效果实现步骤 第一步先编写一个加载页面在APP.vue中引入将控制加载的变量添加到状态管理库中例如pinia或VueX中在loading页面中导入常量并控制主体是否显示在请求拦截器和响应拦截器里配置

超绝!基站/Wi-Fi/GPS定位技术详解与应用示例

今天特别分享定位相关示例,欢迎大家一起来探讨。一、基站/Wi-Fi/GPS定位概述 1.1 基站定位原理 基站定位也就是“LBS定位”,全称是Location Based Service,它包括两层含义: 首先是确定移动设备或用户所在的地理位置;其次是提供与位置相关的各类信息服务。意指与定位相关的…

LuaTools日志相关内容来喽~帮工程师朋友解决99%的问题

本文将详细介绍LuaTools日志的相关内容,帮助你解决在使用过程中可能遇到的99%的问题。 LuaTools新版下载/使用教程: https://docs.openluat.com/Luatools/ 一、LuaTools日志分类 LuaTools包括4种日志:工具本身的日志、用户日志、底层日志、死机日志。 1. 工具本身的日志 在工…

【路由交换】华为交换机和路由器配置DHCP和DHCP中继

1.DHCP原理和实验拓扑 1.1.DHCP原理 DHCP一共有四个阶段:DHCP Discover 、DHCP Offer、DHCP Request、DHCP ACKDHCP Discover:发送DHCP Discover消息,寻找DHCP Server,表示自己需要获取一个IP地址 DHCP Offer:响应所收到的DHCP Discover消息,把准备提供的IP地址携带在DHC…

jquery表格转excel表格插件

excel-gen.js是一款jquery表格转excel表格插件。该jquery插件可以在客户端将HTML表格导出为Excel表格,并且下载为一个xlsx类型的Excel文件。在线演示 下载使用方法 excel-gen.js表格转excel表格插件依赖于jszip.js和FileSaver.js插件。<script src="path/to/jquery.m…

软考中级 网络工程师教程(第六版) 信息系统项目管理师教程(第四版)扫描PDF

封面 网络工程师教程 (第六版) 信息系统项目管理师教程(第四版)下载链接 网络工程师教程(第六版) 信息系统项目管理师教程(第四版)

第四天案例联系-热词

效果:五个热词点击可以跳转到指定页面,悬停时有颜色区别 遇到问题:文字在各个块中水平,垂直居中显示①水平显示:text-align:center【注意:要注意将这个属性设置到父级元素】②垂直显示:line-height:80px【通过行高来设置,将行高设置与块的大小一样】<!DOCTYPE htm…

广州互联网知识付费系统有哪些

当前,在广州地区,有多家机构专注于开发和定制各类互联网知识付费系统,旨在为教育与相关领域的专业人士提供优质解决方案。这些系统的功能覆盖了知识内容发布、交易以及用户的学习需求,并结合多种营销工具以满足用户多样化的应用场景。@www.tuzhi.ltd 侵删这类服务主要提供知…

20222404 2024-2025-2 《网络与系统攻防技术》实验八实验报告

1.实验内容 (1)Web前端HTML 能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。 (2)Web前端javascipt 理解JavaScript的基本功能,理解DOM。 在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+…

Dodcker如何导入镜像tar

Dodcker如何导入镜像tar 我们可以将docker镜像导出为压缩文件,然后再在另一主机上导入。 要在Docker中导入一个.tar格式的镜像文件,您可以使用docker load命令。这个命令会将一个保存的镜像压缩文件(.tar,.tar.gz或.tgz)加载到Docker镜像库中。 docker load -i <image_…

恭喜CUUG 11月16日考试的同学获得PG中级/PG高级证书

恭喜在11月16日参加工信部人才交流中心PostgreSQL管理员PG中级和PG高级认证考试的各位同学,顺利通过了考试,证书在工信人才官网可查。部分学员证书:............为什么选择工信人才PostgreSQL认证:发证机构:工信部人才交流中心属于工信部直属的二类事业单位,证书的权威性…