Day10_48_Map集合中的常用方法
Map集合中的常用方法
* 常用方法
- 注意 Map集合中的key是无序不可重复的set集合,如果添加数据时,key值重复了,后面添加的重复数据也是可以添加成功的,但是会覆盖前面相同的数据。
1. Object put(Object key,object value) 向Map集合中添加键值对,Map中的key值是不能重复的和hashSet相同 , 存储在map集合key部分的元素需要同时重写hashcode和equals方法。
2. int size() 输出Map集合中键值对的个数 。
3. boolean isEmpty() 判断Map集合是否为空
4. boolean containsKey(Object key) 判断集合中是否包含该key值
5. boolean containsValue(Object value) 判断集合中是否包含该Value值
6. Object get(Object key) 通过key值获取value值
7. Object remove(Object key) 通过key删除整个键值对
8. Collection values() 获取Map集合中所有的 value
9. Set keyset() 获取Map集合所有的key值
10.遍历输出整个Map集合,也就是通过keyset集合的迭代器,先获取到每一个key值,然后再通过key值调用 get(Object key)方法获取到key值对应的value值。
11. Set EntrySet() 返回此映射中包含的映射关系的Set视图,将Map转换成Set集合的过程,也就是把Map集合中所有的键值对,成对输出,key和value用等号连接。
- 代码实例
package com.shige.Collection.Map; import com.shige.OOP.Inherit.Person; import java.util.*; public class MapTest01 {
public static void main(String[] args) { // 创建一个Map集合
Map personId = new HashMap(); // 父类引用指向子类对象, HashMap默认初始化容量16,默认加载因子0.75 // 1. Object put(Object key,object value) 向map集合中添加键值对 Map中的key值是不能重复的和hashset相同
// 存储在map集合key部分的元素需要同时重写hashcode和equals方法
personId.put("130825199604050713", "施耐庵");
personId.put("110258632145789652", "曹雪芹");
personId.put("140256315489961413", "罗贯中");
personId.put("198524555504050713", "吴承恩");
personId.put("130825199604050713", "施歌"); // key值重复了,该条数据会添加进去,但是会覆盖原来的数据,也就是覆盖 "施耐庵"。 //2.判断键值对的个数 int size()
int size = personId.size();
System.out.println("当前map集合中一共有 " + size + " 对"); // 3.boolean isEmpty() 判断集合是否为空
System.out.println(personId.isEmpty()); //false // 4.boolean containsKey(Object key) 判断集合中是否包含该key值
boolean isContainKey = personId.containsKey("130825199604050713");
System.out.println(isContainKey); //true //5.boolean containsValue(Object value) 判断集合中是否包含该Value值
boolean isContainValue = personId.containsValue("施耐庵");
System.out.println(isContainValue); //false boolean isContainValue1 = personId.containsValue("施歌");
System.out.println(isContainValue1); //true //6.Object get(Object key) 通过key值获取value
Object personName = personId.get("130825199604050713");
System.out.println(personName); //7.Object remove(Object key) 通过key删除整个键值对
personId.remove("198524555504050713");
System.out.println(personId.get("198524555504050713")); //null 因为已经被移除了
System.out.println(personId.size()); // 移除了一条数据,还有三条数 /* //8. Collection values() 获取Map集合中所有的value
Collection values = personId.values(); //将personId集合中的所有value值赋给values集合 //直接输出
System.out.println(values); // [罗贯中, 施歌, 曹雪芹] //迭代器输出
Iterator iterator = values.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
} //9.Set keyset() 获取Map集合所有的key值 Set set=personId.keySet(); //将personIdMap集合中的所有key值赋给新的Set集合 //直接输出
System.out.println(set); //使用迭代器输出
Iterator iterator1=set.iterator(); //给迭代器重新赋值
while (iterator1.hasNext()){
System.out.println(iterator1.next());
} // 10. 遍历Map集合,同输出<key,value> 方法一 Set set=personId.keySet();
Collection collection=personId.values();
Iterator iterator1=set.iterator();
Iterator iterator2=collection.iterator();
while(iterator1.hasNext()){
Object key=iterator1.next();
Object value=iterator2.next();
System.out.println("<"+key+","+value+">");
} */
//11. 遍历Map集合,同输出<key,value> 方法二 Set set=personId.keySet();
Collection collection=personId.values();
Iterator iterator=set.iterator();
while(iterator.hasNext()){
Object key=iterator.next();
Object value=personId.get(key); //通过key来获取value
System.out.println("<"+key+","+value+">"); } //12. Set EntrySet() 返回此映射中包含的映射关系的Set视图,将map转换成set集合的过程 Set setView=personId.entrySet();
Iterator iterator1=setView.iterator();
while (iterator1.hasNext()){
System.out.println(iterator1.next()); //输出样式: // 140256315489961413=罗贯中
// 130825199604050713=施歌
// 110258632145789652=曹雪芹
} } }
Day10_48_Map集合中的常用方法的更多相关文章
- OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法
字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 ...
- 00031_ArrayList集合中常用的方法
1.ArrayList集合提供的一些常用方法 import java.util.ArrayList; public class ArrayListDemo01 { public static void ...
- 【Java】遍历List/Set/Map集合的一些常用方法
/* * 遍历List/Set/Map集合的一些常用方法 */import java.util.ArrayList;import java.util.HashMap;import java.util. ...
- Java集合中的Map接口怎么使用?
Map(双列集合框架) 1.Map接口及实现类概述 Map 接口提供三种collection 视图,允许以键集.值集或键-值映射关系集的形式查看某个映射的内容.映射顺序 定义为迭代器在映射的 coll ...
- Collections中的常用方法
collections中的常用方法 public class CollectionsTest { public static void main(String[] args) { List list ...
- sun.misc.Unsafe中一些常用方法记录
sun.misc.Unsafe中一些常用方法记录 前情摘要 sun公司提供了可以用于直接操作内存的类,这个类就是sun.misc.Unsafe.因为Java本身是不会涉及到直接操作内存的,Java A ...
- List接口中的常用方法
void add(int index, Object ele):在index位置插入ele元素boolean addAll(int index, Collection eles):从index位置开始 ...
- 判断IEnumerable<T>集合中是否包含有T对象
比如,有角色集合中,只有用户创建有角色,才出现“分配”铵钮.反之,隐藏. IEnumerable有一个方法,叫Any:
- java范型集合中的成员排序
范型集合中的类是JsonObject,不是自定义类,如果是自定义类就直接取要比较的字段值. ArrayList<JSONObject> TList = new ArrayList<J ...
随机推荐
- MFC多文档程序启动无子窗口的实现
刚学MFC的我们,肯定会从一个基本MFC程序开始. 而VC++6.0的MFC基础类提供了三种创建方式:单文档.多文档.对话框. 当我们创建多文档应用程序的时候,会自动启动一个子窗口. 在我们平时使用软 ...
- Python分类模型构建
分离训练集测试集 from sklearn.model_selection import train_test_split eg: X_train, X_test, y_train, y_test = ...
- sentry SSRF
目录 Sentry介绍 exp测试步骤 自己构造blind发包 修复方式 参考 Sentry介绍 Sentry 是一个实时的事件日志和聚合平台,基于 Django 构建.一般在url上.或者logo上 ...
- sqlyog如何增删改查?
转: sqlyog如何增删改查? 下面是一道完整的 sqlyog 增删改查的练习, 顺着做下去,可以迅速掌握. 1. 创建部门表dept,并插入数据: 2. 创建emp员工表,并插入数据: sql 代 ...
- Caffe介绍与测试及相关Hi35xx平台下caffe yolox的使用参考
这一篇我大概讲讲Caffe框架下MNIST的实现与基于Hi35xx平台下caffe yolox的运用等,供大家参考 1.Caffe介绍与测试 caffe全称Caffe Convolutional Ar ...
- canal mysql select权限粒度
今天产品问了一个问题,问懵了 产品:canal在开通mysql权限时需要哪些权限 我:SELECT, REPLICATION SLAVE, REPLICATION CLIENT 产品:那SELECT权 ...
- git clone 提速
将类似于 git clone https://github.com/graykode/nlp-tutorial 的命令改成 https://github.com.cnpmjs.org/graykode ...
- 我给Apache顶级项目贡献了点源码。
这是why技术的第 91 篇原创文章 这篇文章其实并没有什么技术性的分享,从我的角度而言,更多是记录和思考. 把我对于源码和之前写的部分文章反哺给我的一些东西,带来的一点点思考分享给大家. 一行源码 ...
- NewSQL分布式数据库,例如TIDB用K/V的底层逻辑
内容参考 对分布式对定义参考这篇文章: 微服务都想用,先把分布式和微服务之间的关系说清楚 对分布式架构中心或无中心对比参考这篇文章: 分布式存储单主.多主和无中心架构的特征与趋势 对HDFS对内部机制 ...
- P3387 【模板】缩点 题解 (Tarjan)
题目链接 P3387 [模板]缩点 解题思路 这几天搞图论,好有趣hhh,多写几篇博客. 上次学\(Tarjan\)求割点,这次缩点. 思路大概是多一个栈和染色的步骤,每次\(Tarjan\)的时候把 ...