Map第一种遍历keySet


import java.util.HashMap;
import java.util.Map;
import java.util.Set;public class Demo01Map {public static void main(String[] args) {show01();}/*public V put(K key,V value) :把指定的值添加到map集合中返回值:V存储键值对的时候,key不重复,返回值V是null存储键值对的时候,key重复,会使用新的value替换map中重复的value,返回被替换的value值*/private static void show01() {//创建map对象,多态Map<Integer,String> map=new HashMap<>();String v1 = map.put(1, "刘文虎");//System.out.println("v1:"+v1);//nullString v2 = map.put(2, "小虎贝");// System.out.println("v2:"+v2);//System.out.println(map);//遍历Set<Integer> s = map.keySet();for (Integer integer : s) {System.out.println(map.get(integer));}}
}

Map第二种遍历Entry


import java.util.HashMap;
import java.util.Map;
import java.util.Set;/*使用Entry对象遍历Map集合中的方法:Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系的 set 视图实现步骤:1.使用Map集合中的方法entrySet()把Map集合中多个Entry对象取出来,存储到Set集合中2.遍历Set集合,获取每一个Entry对象3.是用Entry对象中的方法getkey()和getValue()获取键与值*/
public class Demo03EntrySet {public static void main(String[] args) {Map<Integer,String> map=new HashMap<>();map.put(1,"张");map.put(2,"王");map.put(3,"赵");Set<Map.Entry<Integer, String>> set = map.entrySet();for (Map.Entry<Integer, String> entry : set) {System.out.println(entry.getKey()+" : "+entry.getValue());}}}
HashMap

import java.util.Objects;public class Person {private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", age=" + age +'}';}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Person person = (Person) o;return age == person.age &&Objects.equals(name, person.name);}@Overridepublic int hashCode() {return Objects.hash(name, 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;}
}

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;/*HashMap存储自定义数据类型键值Map集合保证key是唯一的:作为key的元素,必须重写hashCode方法和equals 方法,以保证key是唯一的*/
public class Demo01HashMapSavePerson {public static void main(String[] args) {show01();show02();}/*HashMap存储自定义类型键值Key:Person类型Person类型必须重写hashCode方法和equals 方法*/private static void show02() {HashMap<Person,String> map=new HashMap<>();//往集合中添加元素map.put(new Person("张",18),"中国");map.put(new Person("王",19),"法国");map.put(new Person("李",20),"日本");map.put(new Person("张",18),"泰国");//使用entrySet 和增强for遍历Set<Map.Entry<Person, String>> set = map.entrySet();for (Map.Entry<Person, String> entry : set) {System.out.println(entry.getKey()+"  :  "+entry.getValue());}}/*HashMap存储自定义类型键值key:String类型String类重写hashCode方法和equals 方法,以保证key是唯一的value:Person类型value可以重复(同名同年龄的人视为同一个人)*/private static void show01() {//创建HashMap集合HashMap<String,Person> map=new HashMap<>();//往集合中添加元素map.put("北京",new Person("张三",18));map.put("上海",new Person("李四",19));map.put("陕西",new Person("王五",20));map.put("北京",new Person("赵六",18));//使用keySet加上增强for遍历Map集合Set<String> set = map.keySet();for (String s : set) {System.out.println(s+"---->"+map.get(s));}}
}

map练习

import java.util.HashMap;
import java.util.Scanner;/*练习:计算一个字符串中每个字符出现的次数分析:1.使用Scanner获取用户输入的字符串2.创建Map集合,key是字符串中的字符,value是字符的个数3.遍历字符串,获取每一个字符4.使用获取到的字符,去map集合判断key是否存在key存在:通过key获取value(字符个数)value++key不存在:put(key,1)5.遍历map集合,输出结果*/
public class Demo01MapTest {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入一个字符串");String str = scanner.next();HashMap<Character,Integer> map=new HashMap<>();for(char c:str.toCharArray()){if(map.containsKey(c)){Integer value = map.get(c);value++;map.put(c,value);}else{map.put(c,1);}}System.out.println(map);}
}

JAVA中map集合相关推荐

  1. JAVA中Map集合的使用举例

    首先创建一个Emp类,再将几个Emp对象添加到Map集合中. Emp的id作为Map的键,并将id为"005"的对象从集合中删除. package com.han;import j ...

  2. java中Map集合、模拟斗地主洗牌发牌、JDK9对集合添加的优化

    1.1 Map集合概述 Map集合概述 Map==>映射(一个对应一个) Map是一个接口,只要实现了该接口的类都是双列集合. 双列集合每次存储元素时都需要存储两个元素,一个元素称为键,一个元素 ...

  3. 笔记:Java中Map集合的基本功能及遍历方式

    Map集合概述: public interface Map<K,V> 将键映射到值的对象.不能包含重复的键; 每个键可以映射到最多一个值. 该接口代替了Dictionary类,它是一个完全 ...

  4. Java中Map集合如何理解(四)——精简

    目录 引言 概念 Map集合实现类 HashMap LinkedHashMap TreeMap 默认排序 自定义排序方式 常用API 遍历Map集合 键找值 键值对 Lambda表达式 结束语 引言 ...

  5. Java中Map集合的使用

     List:存储单列数据的集合,存储的数据是有序并且是可以重复的               Map:存储双列数据的集合,通过键值对存储数据,存储 的数据是无序的,Key值不能重复,value值可以重 ...

  6. Java中Map集合的三种遍历方式

    文章目录 Map集合的遍历方式 Map集合的遍历方式一: 键找值 Map集合的遍历方式二: 键值对 Map集合的遍历方式三: Lambda Map集合的遍历方式 Map集合的遍历方式有3种: 方式一: ...

  7. java中Map集合使用

    Map集合的遍历(方式1) 转换为Map集合中的操作: 1.获取所有键的集合.用keySet()方法实现 2.遍历键的集合,获取到每一个键.用增强for实现 3.根据键去找值.用get(Object ...

  8. java中map集合的修改_map集合修改其中元素(示例代码)

    packagecom.swift.lianxi;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importj ...

  9. Java中Map集合中的Entry对象

    Entry: 键值对 对象. 在Map类设计是,提供了一个嵌套接口(static修饰的接口):Entry.Entry将键值对的对应关系封装成了对象,即键值对对象,这样我们在遍历Map集合时,就可以从每 ...

最新文章

  1. Java return 关键字的使用
  2. 反射__获取delegate的信息
  3. timeSetEvent
  4. 【转】我该 不该学习VULKAN
  5. ajax onerror code,Ajax请求'onError'处理程序
  6. python 对象_Python小课堂面向对象
  7. ExtJs之combobox详解
  8. php txt 下载文件,PHP下载单个TXT文件
  9. idea tomcat启动乱码问题
  10. 获取GridView的EmptyDataTemplate中的控件
  11. 微信小程序 web-view 无法外链 和 不支持打开非业务域名
  12. 后端——》Java程序推送微信订阅消息
  13. 带你彻底击溃跳表原理及其Golang实现!(内含图解)
  14. 人物关系 人脸识别_用 NetworkX + Gephi + Nebula Graph 分析权力的游戏人物关系(上篇)...
  15. springboot上传头像
  16. SAP那些事-理论篇-17-SAP项目如何整理数据
  17. 〖OKaimi点金胜手_2019年4月〗走地大球分析系统|万胜
  18. 我对Flutter的第一次失望
  19. Vue爬坑之旅(二十一):vue使用富文本编辑器vue-quill-editor实现配合后台将图片上传至七牛
  20. 如何从Project数据库中读取mpp文件中自定义域以及自定义大纲代码

热门文章

  1. 软技能:代码之外的生存指南
  2. vue兼容IE11浏览器空白页等一系列问题之踩坑全过程
  3. 基于RGB-D数据的语义建图
  4. bat批处理文件编写
  5. 《汇编语言》第十章 call 和 ret 指令
  6. 超市收银系统测试报告
  7. CF1238E Keyboard Purchase
  8. 密码学——现代密码体制总结(别再管哈希叫加密了噢~)
  9. 华为鲲鹏ARM云服务器搭建网站服务器教程
  10. 高可用架构之高可用的应用和服务