一、Map接口

Collection、Set、List接口都属于单值的操作,即:每次只能操作一个对象,而Map与它们不同的是,每次操作的是一对对象,即二元偶对象,Map中的每个元素都使用key à value的形式存储在集合之中

二、常用方法

No.
方法或类
类型
描述
1
public void clear()
普通
清空Map集合
2
public boolean containsKey(Object key)
普通
判断指定的key是否存在
3
public boolean containsValue(Object value)
普通
判断指定的value是否存在
4
public Set<Map.Entry<K,V>> entrySet()
普通
将Map对象变为Set集合
5
public boolean equals(Object o)
普通
对象比较
6
public V get(Object key)
普通
根据key取得value
7
public int hashCode()
普通
返回哈希码
8
public boolean isEmpty()
普通
判断集合是否为空
9
public Set<K> keySet()
普通
取得所有的key
10
public V put(K key, V value)
普通
向集合中加入元素
11
public void putAll(Map<? extends K,? extends V> t)
普通
将一个Map集合中的内容加入到另一个Map
12
public V remove(Object key)
普通
根据key删除value
13
public int size()
普通
取出集合的长度
14
public Collection<V> values()
普通
取出全部的value

三、例子

package com.pb.demo2;public class Person {private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;
}public String getName() {return name;
}
public void setName(String name) {this.name = name;
}
public int getAge() {return age;
}
public void setAge(int age) {this.age = age;
}}

package com.pb.demo2;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;import com.pb.demo1.Person;public class MapTest {public static void main(String[] args) {/** 1.创建多个Person对象并赋值*/Person p1 = new Person("张三",21);Person p2 = new Person("李四",22);Person p3 = new Person("王五",23);Person p4 = new Person("赵六",24);Person p5 = new Person("钱七",25);//2.创建保存键--值对的集合对象Map<String,Person> perMap=new HashMap<String,Person>();//3.使用put将英文名与对象按照键-值对的方式在座存储在HashMap中perMap.put("Denny", p1);perMap.put("Jony", p2);perMap.put("Rose", p3);perMap.put("Kitter", p4);perMap.put("Boby", p5);//4.打印键集System.out.println("++++++++打印键集+++++++++");System.out.println(perMap.keySet());//5.打印值集System.out.println("=========打印值集=======");System.out.println(perMap.values());//6.打印键-值对集合System.out.println("=========打印键-值对集合=======");System.out.println(perMap);//7.判断是否存在"Denny"这个键if(perMap.containsKey("Denny")){//8.如果存在,根据键获取相应的值Person p =perMap.get("Denny");System.out.println("姓名:  "+p.getName());System.out.println("年龄: "+p.getAge());}System.out.println("=======遍历HashMap=======");//遍历HashMap//首先遍历key集合,keySet方法返回的是Set集合Set<String> keySet=perMap.keySet();Iterator<String> iterator=keySet.iterator();while(iterator.hasNext()){String key=iterator.next();System.out.print("英文名:"+key);//根据key值取出值Person p =perMap.get(key);System.out.print("\t姓名:  "+p.getName());System.out.println("\t年龄: "+p.getAge());}}}

转载于:https://www.cnblogs.com/liunanjava/p/4300094.html

Java从零开始学二十三(集合Map接口)相关推荐

  1. java list 从0开始_Java从零开始学二十一(集合List接口)

    package com.pb.demo1; import java.util.LinkedList; import java.util.List; public class PersonLinkedL ...

  2. Java基础(二):集合、IO流(Zip压缩输入/输出流等)、File文件类、反射、枚举

    Java基础(一):编译和解释.数据类型.变量作用域.String常用方法.数组.面向对象.异常 Java基础(二):集合.IO流(Zip压缩输入/输出流等).File文件类.反射.枚举 Java异常 ...

  3. 区块链DApp从零开始学 (二) | 超详细 DApp创建 | 发行代币token | 宠物领养

    初学记录 · 欢迎交流 区块链DApp从零开始学 (一) | DApp抓包 区块链DApp从零开始学 (二) | 超详细 DApp创建 | 发行代币token |宠物领养 区块链知识 (一) | 实例 ...

  4. Java集合——Map接口学习总结

    一.HashMap实现类 1.常用方法 增加:put(K key, V value)删除:clear() remove(Object key)修改:查看:entrySet() get(Object k ...

  5. Java基础(二)集合

    集合Collection 集合与数组的区别 相同点:  集合和数组都能存储数据 不同点:  数组:  (1)可以存储基本数据类型  (2)可以存储引用数据类型  (3)是一个定长的容器  集合:  ( ...

  6. 【每天一个java设计模式(二十三)】 - 访问者模式

    在访问者模式中,我们使用了一个访问者类,它改变了元素类的执行算法.通过这种方式,元素的执行算法可以随着访问者改变而改变.这种类型的设计模式属于行为型模式.根据模式,元素对象已接受访问者对象,这样访问者 ...

  7. 【Java】如何理解Java中的双列集合Map?

    1 Map<K,V>接口 1.1 特点 双列集合一个元素包含俩值 Key不可以重复,Value可以重复 Key和Value一一对应 Key和Value可以时任意类型 1.2 常用方法 pu ...

  8. JAVA学习笔记(二十)- 集合 List

    ArrayList 集合 /** ArrayList,实现List接口* 声明数组时必须指定数组中元素的类型,可以是基本数据类型,也可以是引用数据类型* 声明集合时可以不指定其元素的类型,元素类型默认 ...

  9. java面试题二十三 接口

最新文章

  1. matlab中prismastic,魅力值是什么意思
  2. AngularJs学习
  3. Spring分布式事务实现
  4. c语言 typedef的用法
  5. 一道面试题,我自己的解法
  6. 患者是否应该主动关注医疗知识
  7. Java 之 JavaScript (一)
  8. 漏洞工具:nmap和nessus
  9. C/C++,Qt,Python,OpenCV小项目实战-实时桌面颜色查询
  10. [Ext JS6]Sencha Cmd
  11. 详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI区别
  12. 【Unity编辑器】UnityEditor多重弹出窗体与编辑器窗口层级管理
  13. Linux chapter 6
  14. 图解神经网络:卷积、池化、全连接(通道数问题、kernel与filter的概念)
  15. Android游戏开发中使用Libgdx引擎遇到的问题及解决办法汇总
  16. 使用pillow简易创建个图形验证码
  17. 【Python】视频转换成图片
  18. C语言:7-20 到底有多二
  19. gofpdf 学习笔记
  20. python中的f的用法_python中f是什么

热门文章

  1. 1280*720P和1920*1080P的视频在25帧30帧50帧60帧时的参数
  2. qt5.5.1配置winpcap4.1.2
  3. hdu 1116 Play on Words(欧拉通路)
  4. linux_一些shell命令分析记录
  5. IE浏览器加载CSS文件,但是不起作用的原因
  6. 建立Microsoft SQL Server 2005数据仓库
  7. DPDK 初识DPDK(十五)
  8. 超级计算机的生产流程,精密陶瓷的生产流程分为几个步骤(图)
  9. 16 开机自动登录脚本_创建计划任务自动运行程序---运维无人值守
  10. 《Java从小白到大牛》之第9章 字符串