Java中的Map集合以及Map集合遍历实例

article/2025/10/2 9:19:47

文章目录

          • 一、Map集合
          • 二、Map集合遍历实例

一、Map集合

Map<K,V>k是键,v是值
1、 将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射的一个值
2、 实现类
 a) HashMap
 b) TreeMap
3、 Map集合和Collection集合的区别
 a) Collection集合存储元素是单独出现的,
  Collection集合的子接口Set存储元素是唯一的,List是可以重复的;
  Collection集合的数据结构是针对元素有效
 b) Map集合存储元素是成对出现的按照键值,
  键是唯一的,值是可以重复的,
  Map集合的数据结构值针对键有效,与值无关
4、 Map集合的功能概述:
 a) 添加功能
  i. V put(K key,V value);添加元素,
   1. 如果之前无此键则添加此键值则,并返回null,
   2. 如果有此键则将该值替换之前的值,并返回之前的值
 b) 删除功能
  i. void clear();移除所有的键值对元素
  ii. V remove (Object key);根据键删除键值对元素,并将值返回
 c) 判断功能
  i. boolean containsKey(object key);判断集合是否包含指定的键
  ii. boolean containsValue(Object value);判断集合是否包含指定的值
  iii. boolean isEmpty();判断集合是否为空
 d) 获取功能
  i. Set<Map.Entry<K,V>> entrySet();返回的是键值对对象的集合
   返回对象集合后可以通过对象获取键和值,
   获取方法为:对象.getValue()和对象.getKey();
  ii. V get(Object key);根据键获取值
  iii. Set keySet();获取集合中所有键的集合
  iv. Collection values();获取集合中所有值的集合
 e) 长度功能
  i. int size();返回集合中键值对的对数
5、 HashMap<K,V>底层数据结构是哈希表,线程不安全,效率高
 Hashtable<K,V>底层数据结构是哈希表,线程安全,效率低
 a) 基于哈希表的Map接口实现,哈希表的作用是用来保证键的唯一性
 b) 注意当集合存储对象元素时需要重写hashCode()和equals()方法(方法可以自动生成)
6、 LinkedHashMap<K,V>
 a) HashMap的子类,是Map接口的哈希表和链表列表实现,具有可预知的迭代顺序(存储和取出顺序一致)
7、 TreeMap<K,V>基于红黑二叉树的Map接口实现
 a) 自然排序,无参构造方法(元素具备比较性)
  i. 按照compareTo()方法排序,让需要比较的元素对象所属的类实现自然排序接口Comparable,并重写compareTo()方法
 b) 比较器排序,构造方法public TreeSet(Comparator comparator)(集合具备比较性)
  i. 让集合的构造方法接收一个比较器接口的子类对象(compareator)(此处的Comparator为接口,需要写一个接口实现类,在实现类中重写compare()方法,并在这里创建接口实现类的对象,可以用匿名内部类来实现)
8、 Map集合的遍历
 a) 键找值
  i. 获取所有键
  ii. 遍历键的集合,得到每一个键的值
 b) 键值对对象找值和键
  i. 遍历所有的键值对对象的集合
  ii. 根据键值对对象获取键和值

二、Map集合遍历实例
package test14_Traversal;import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/** 遍历:* 	1、键找值* 	2、键值对象找键和值*/
public class HashMapDemo {public static void main(String[] args) {HashMap<String,String> hm=new HashMap<String,String>();hm.put("1", "Hello");hm.put("2", "World");hm.put("3", "ZfLiu");hm.put("4", "Java");//键找值遍历Set<String> set1=hm.keySet();for(String key:set1) {String value=hm.get(key);System.out.println(key+"--"+value);}System.out.println("----------------------------");//键值对象找键和值遍历Set<Map.Entry<String, String>> set2=hm.entrySet();for(Map.Entry<String, String> me:set2) {System.out.println(me.getKey()+"--"+me.getValue());}}
}

输出结果:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/eRFbrg1k.shtml

相关文章

Map集合的四种遍历

Map集合的四种遍历 这里记录一下map集合的4种遍历&#xff1a; 第一种 得到所有的key–map.keySet() ,根据key拿到value–map.get(key) public static void main(String[] args) {Map<String, String> map new HashMap();map.put("1", "刘备");…

Map集合遍历的三种方式

Map集合遍历的三种方式 遍历Map集合的三种方式 键找值键值对Lambda表达式 方式一 : 键找值 先获取Map集合的全部键的Set集合遍历键的Set集合,然后通过键提取对应值 原理图 键找值涉及到的API 方法名称说明Set keySet()获取所有键的集合V get(Object key)根据键获取值 Map…

java中Map集合的四种遍历方式

java中Map集合的四种遍历方式 Map接口和Collection接口的集合不同,Map集合是双列的,Collection是单列的.Map集合将键映射到值的对象. 双列的集合遍历起来也是比较麻烦些的,特别是嵌套的map集合,这里说下MAP集合的四种遍历方式&#xff0c;并且以嵌套的hashMap集合为例, 遍历一…

如何遍历map集合

Map集合是基于java核心类——java.util中的&#xff1b; Map集合用于储存元素对&#xff0c;Map储存的是一对键值&#xff08;key和value&#xff09;&#xff0c;是通过key映射到它的value values() : 是获取集合中的所有的值----没有键&#xff0c;没有对应关系。 KeySet(…

Map集合常用的三种遍历方式

Map集合使用的是Key - Value的形式存储元素&#xff0c;也就是键值对的形式。Map集合内部的实现分别是HashMap和TreeMap&#xff0c;也就是哈希表和二叉树这两种数据结构。List集合和Set集合都是继承自Collection类&#xff0c;而Map集合就是自己的父类。前者可以直接通过Itera…

Map集合遍历方式

Map集合遍历方式一&#xff1a;键找值 先获取Map集合的全部键的Set集合 //Set keymap.keySet();遍历键的Set集合&#xff0c;然后通过键提取对应值map.getValue() Set<String> keysmaps.keySet();for(String key1:keys){int valu1emaps.get(key1);System.out.println(ke…

MAP集合的遍历方式

简单场景&#xff1a;map集合存放为数字星期 如图&#xff1a; 代码&#xff1a; Map<Integer, String> map new HashMap<>(); map.put(1, "星期一"); map.put(2, "星期二"); map.put(3, "星期三"); map.put(4, "星期四&quo…

Map集合遍历的四种方式

1.通过Map.keySet获取key的Set集合&#xff0c;之后在通过key进行遍历 2.通过Map.values获取所有value&#xff0c;之后再进行遍历 3.通过Map.entrySet获取Set集合&#xff0c;之后通过iterator进行遍历 4.直接通过foreach对Map.entrySet获取的Set集合进遍历 案例&#…

lstm结构图_LSTM模型结构的可视化

目录: 1、传统的BP网络和CNN网络 2、LSTM网络 3、LSTM的输入结构 4、pytorch中的LSTM 4.1 pytorch中定义的LSTM模型 4.2 喂给LSTM的数据格式 4.3 LSTM的output格式 5、LSTM和其他网络组合 最近在学习LSTM应用在时间序列的预测上,但是遇到一个很大的问题就是LSTM在传统BP网络上…

LSTM模型详解

&#xff08;一&#xff09;LSTM模型理解 1.长短期记忆模型&#xff08;long-short term memory&#xff09;是一种特殊的RNN模型&#xff0c;是为了解决RNN模型梯度弥散的问题而提出的&#xff1b;在传统的RNN中&#xff0c;训练算法使用的是BPTT&#xff0c;当时间比较长时&…

LSTM模型、双向LSTM模型以及模型输入输出的理解

循环神经网路&#xff08;RNN&#xff09;在工作时一个重要的优点在于&#xff0c;其能够在输入和输出序列之间的映射过程中利用上下文相关信息。然而不幸的是&#xff0c;标准的循环神经网络&#xff08;RNN&#xff09;能够存取的上下文信息范围很有限。这个问题就使得隐含层…

基于LSTM模型实现新闻分类

1、简述LSTM模型 LSTM是长短期记忆神经网络&#xff0c;根据论文检索数据大部分应用于分类、机器翻译、情感识别等场景&#xff0c;在文本中&#xff0c;主要使用tensorflow及keras&#xff0c;搭建LSTM模型实现新闻分类案例。&#xff08;只讨论和实现其模型的应用案例&#…

Pytorch实现的LSTM模型结构

LSTM模型结构 1、LSTM模型结构2、LSTM网络3、LSTM的输入结构4、Pytorch中的LSTM4.1、pytorch中定义的LSTM模型4.2、喂给LSTM的数据格式4.3、LSTM的output格式4.4 LSTM笔记 5、LSTM和其他网络组合 1、LSTM模型结构 BP网络和CNN网络没有时间维&#xff0c;和传统的机器学习算法理…

【RNN架构解析】LSTM 模型

LSTM 模型 前言1. LSTM 内部结构图2. Bi-LSTM 介绍3. LSTM 代码实现4. LSTM 优缺点前言 了解LSTM内部结构及计算公式.掌握Pytorch中LSTM工具的使用.了解LSTM的优势与缺点.LSTM(Long Short-Term Memory)也称长短时记忆结构, 它是传统RNN的变体, 与经典RNN相比能够有效捕捉长序…

Pytorch LSTM模型 参数详解

本文主要依据 Pytorch 中LSTM官方文档&#xff0c;对其中的模型参数、输入、输出进行详细解释。 目录 基本原理 模型参数 Parameters 输入Inputs: input, (h_0, c_0) 输出Outputs: output, (h_n, c_n) 变量Variables 备注 基本原理 首先我们看下面这个LSTM图&#xff0c; 对…

猿创征文丨深度学习基于双向LSTM模型完成文本分类任务

大家好&#xff0c;我是猿童学&#xff0c;本期猿创征文的第三期&#xff0c;也是最后一期&#xff0c;给大家带来神经网络中的循环神经网络案例&#xff0c;基于双向LSTM模型完成文本分类任务&#xff0c;数据集来自kaggle&#xff0c;对电影评论进行文本分类。 电影评论可以蕴…

LSTM模型参数解释

其中&#xff0c;input_size(输入张量x的维度)6&#xff0c;hidden_size(隐藏层的维度&#xff0c; 隐藏层的神经元个数)6&#xff0c;num_layer(隐藏层层数)2 train loss与test loss结果分析&#xff1a; train loss 不断下降&#xff0c;test loss不断下降&#xff0c;说明网…

【用pytorch进行LSTM模型的学习】

用pytorch进行LSTM模型的学习 LSTM模型用pytorch&#xff0c;采用LSTM对seaborn数据集做预测基本步骤数据的观察特殊数据处理数据归一化模型的构建与选择模型的保存 飞机航班流量预测示例 LSTM模型 LSTM模型长下面这样&#xff0c;主要用在时间序列的预测&#xff0c;具有比RN…

LSTM模型预测新冠

LSTM是RNN的改进型&#xff0c;传统RNN模型会随着时间区间的增长&#xff0c;对早期的因素的权重越来越低&#xff0c;有可能会损失重要数据。而LSTM模型通过遗忘门、输入门、输出门三个逻辑&#xff0c;来筛选和保留数据。 原理详解可以参考如何从RNN起步&#xff0c;一步一步…

LSTM模型结构讲解

人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候&#xff0c;你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃&#xff0c;然后用空白的大脑进行思考。我们的思想拥有持久性。 传统的神经网络…