一、Map方法

import java.util.HashMap;
import java.util.Map;
public class Demo01 {public static void main(String[] args) {show01();show02();show03();show04(); }private static void show04() {Map<String,Integer> map3 = new HashMap<>();map3.put("董",18);map3.put("皓",16);map3.put("宇",15);boolean m = map3.containsKey("皓");boolean m1= map3.containsKey("帅");System.out.println(m);//trueSystem.out.println(m1);//false}private static void show03() {Map<String,Integer> map2 = new HashMap<>();map2.put("董",18);map2.put("皓",16);map2.put("宇",15);Integer m = map2.get("皓");System.out.println(m);//16}private static void show02() {Map<String,Integer> map1 = new HashMap<>();map1.put("董",18);map1.put("皓",16);map1.put("宇",15);Integer m = map1.remove("宇");System.out.println(m);//15}private static void show01(){Map<String,String> map = new HashMap<>();String m1 = map.put("董","皓");String m2 = map.put("董","宇");System.out.println(m1);//nullSystem.out.println(m2);//返回的是被替换的值:皓System.out.println(map);//{董=宇}}
}

Map集合遍历的两种方式

import java.util.HashMap;
import java.util.Map;
import java.util.Set;public class Demo02 {public static void main(String[] args) {Map<String,Integer> map = new HashMap<>();map.put("董",18);map.put("皓",16);map.put("宇",15);//1.先用keySet把Key值取出来,然后放在set集合中Set<String> set = map.keySet();//2.遍历set集合获取每一个keyfor (String name : set) {//3.用get()找到valueInteger value = map.get(name);System.out.println(name+"="+value);}System.out.println("======================");//用第二种方法来遍历,entrySet方法。Set<Map.Entry<String, Integer>> ent1 = map.entrySet();for (Map.Entry<String, Integer> entry : ent1) {String name = entry.getKey();Integer values = entry.getValue();System.out.println(name+"="+values);}}
}

二、HashMap存储自定义类型键值

import java.util.HashMap;
import java.util.Map;
import java.util.Set;public class Demo03 {public static void main(String[] args) {show01();}private static void show01(){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),"地球");Set<Map.Entry<Person, String>> set = map.entrySet();for (Map.Entry<Person, String> entry : set) {Person key = entry.getKey();String value = entry.getValue();System.out.println(key+"="+value);//如果在person类里面添加了equals()和hashCode()方法后,会出现⬇️//Person{name='董', age=18}=地球//Person{name='董', age=19}=株洲//Person{name='董', age=20}=深圳}}
}

三、LinkedHashMap

HashMap key值不允许重复,并且无序,values允许重复。

LinkedHashMap key值不允许重复,有序

四、Hashtable

不能存储空值和空键。

五、作业:计算一个字符串中每个字符出现的次数

import java.util.HashMap;
import java.util.Scanner;public class Demo04 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串");String str = sc.next();//1.创建一个HashMap的集合,Key是字符串的字符,Values是字符的个数HashMap<Character, Integer> map = new HashMap<>();//2.遍历字符串获取每一个字符for (char c : str.toCharArray()) {//3.判断key是否存在if(map.containsKey(c)){//存在的话Integer value = map.get(c);value++;map.put(c,value);}else{map.put(c,1);}}//4.遍历Map输出结果for (Character key : map.keySet()) {Integer value = map.get(key);System.out.println(key+"="+value);}}
}

六、Debug调试程序

七、斗地主案例

string转map集合_Map、斗地主案例相关推荐

  1. java基础-Map集合、Collections集合、斗地主案例

    1.Map集合 1.1Map集合概述和特点 Map集合概述 interface Map<K,V> K:键的类型:V:值的类型 Map集合的特点 (1)键值对映射关系 (2)一个键对应一个值 ...

  2. Java基础学习系列--(六)【Map集合,HashMapTreeMap,斗地主、图书管理系统,排序算法】

    第一章 Map集合 1.1 概述 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射.Java提供了专门的集合类用来存 ...

  3. Map集合及其遍历案例:车站Demo

    项目开始: ​ 昨天的Java学习到了Map集合,有一个公交线路的Demo,在编程过程中出现了一些问题,写篇博客记录一下.这个项目的需求是实现输入上车站和下车站,预估车程耗时并输出车费. 项目分析与实 ...

  4. string转map集合_[系列文章] Go - Map 集合

    概述 Map 集合是无序的 key-value 数据结构. Map 集合中的 key / value 可以是任意类型,但所有的 key 必须属于同一数据类型,所有的 value 必须属于同一数据类型, ...

  5. string转map集合_集合(下)

    7 Set 接口 Set 接口表示一个唯一.无序的容器(和添加顺序无关). 7.1 Set 提供的方法 public static void main(String[] args) {/*** 增:a ...

  6. java map foreach_java foreach遍历map集合的方法案例

    java foreach遍历map集合的方法是java jdk1.8时出现的新方法,使用了Interface BiConsumer接口来实现,T代表map集合key的类型,U代表map集合Value的 ...

  7. 黑马JAVA P138 Map集合案例、其他实现类

    package com.itheima.d8_map_test;import java.util.HashMap; import java.util.Map; import java.util.Ran ...

  8. java基础语法day20(Map、模拟斗地主发牌)

    第1章 Map接口 1.1 Map接口概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. 1. Collection中的集合, ...

  9. Map集合及三层嵌套

    Map集合 一.Map集合介绍 二.案例:Map集合三层嵌套 三.TreeMap排序 一.Map集合介绍 1.定义:无序,以键值(key,value)对的形式存储数据,键唯一,值不唯一; 注意:    ...

最新文章

  1. JavaScript对象掺杂点原型
  2. 1步轻松修改Jupyter Notebook默认的工作目录
  3. 007_Buzz事件
  4. 七牛云音视频新功能:音频支持AAC_HE
  5. Vue的表单组件之复选框
  6. 《构建之法》 读书笔记(3)
  7. element from表单个别select 出现 一开始就校验了数据,且有数据还通不过校验,选中的项叉不掉问题。
  8. Git很简单--图解攻略
  9. 计算机的科学原理是什么,人工智能的工作原理是什么?
  10. 飞畅科技-千兆/百兆/核心/PoE/光纤交换机选型指南
  11. 2017年Spring发布了30个新的Android库,值得您关注
  12. STL容器的capacity()和reserve()演示-----vector
  13. [html] 编写一个布局,让文字环绕在图片的周围
  14. 伯克利2019深度学习课程—李沐及其亚马逊同事一起讲述(内附视频链接及PDF下载)
  15. ASCII表 基本记忆 -- C
  16. 数据挖掘项目实战—Kaggle入门竞赛:房价预测之EDA与特征工程
  17. 关于编辑区无法调用chekbox的问题
  18. 6/6 随机过程 马尔科夫链 习题(随机过程应用与模型第三章)
  19. uniapp横竖屏切换
  20. 陆涛带着孙飞和汪贺早早的等在这里

热门文章

  1. 再谈poj2965(高效算法)
  2. Jprofile 备忘
  3. 关于OSPF---1
  4. 使用Dottrace跟踪代码执行时间
  5. 就业模拟试题(.NET部分)
  6. 35岁以上的程序员们,后来都干什么去了?
  7. 连接MongoDB 3.x 报 Authorization failed 解决办法(创建账号的部分亲测)
  8. php7-internal 7.7 zval的操作
  9. Laravel分页设置与查询构造器查询数据集转为数组
  10. Linux之Vmware编码