【Java SE进阶】Day04 Map、Debug
一、Map集合
1、概述
- 映射 /双列集合
- 集合分为Collection(存储一个元素 )和Map(存储一对元素)
- 键不能重复,值可以重复
2、常用子类
- HashMap
- 哈希表存储数据
- 元素存取数据不一致
- 为了保证键的唯一不重复,需要重写键的hashCode方法和equals方法
- LinkedHashMap
- 链表+哈希表存储数据
- 元素的存储顺序一致
- 不需要重写两个方法
3、常用方法
- put(k,v)
- remove(k)
- get(k)
- keySet()--遍历键找值
Set<Map.Entry<K,V>>
entrySet
- ():获取键值对的集合
- getKey()
- getValue()

4、补充
- 自定义类型键值需要重写hashCode方法和toString方法

- LinkedHashMap可以保证元素有序
二、补充知识点
1、jdk9对集合添加的优化
- (仅)List、Set、Map的集合工厂方法
- 使用of(...),创建集合的不可变实例
2、Debug追踪
- F7:进入到方法内
- F8:逐行 执行程序
- Shift+F8:跳出 方法
- F9:跳到下个断点
- Ctrl+F2:退出 debug程序
3、模拟斗地主洗牌发牌
- 有序斗地主
- HashMap存序号&牌号及花色
- ArrayList存序号
- Collections的sort
【Java SE进阶】Day04 Map、Debug的更多相关文章
- Java SE 枚举,注解,增强for循环
Java SE 进阶 1.Enum 枚举对象名通常使用全部大写,常量的命名规范 构造器私有化 本类内部创建一组对象 对外暴露对象(通过为对象添加 public final static 修饰符) 可以 ...
- Java Se :Map 系列
之前对Java Se中的线性表作了简单的说明.这一篇就来看看Map. Map系列的类,并不是说所有的类都继承了Map接口,而是说他们的元素都是以<Key, Value>形式设计的. Dic ...
- Monitor and diagnose performance in Java SE 6--转载
Java SE 6 provides an in-depth focus on performance, offering expanded tools for managing and monito ...
- 《写给大忙人看的java se 8》笔记
现在才来了解java8,是不是后知后觉了点? 新的编程技术,个人不喜欢第一时间跟进. 待社区已有实践积淀再切入似乎更划算些? 一点点精明的考虑. 不多说,上代码. //读<写给大忙人看的java ...
- Java SE 6 新特性: 对脚本语言的支持
2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马).跟 Tiger(Java SE 5)相比,Musta ...
- 【读书笔记】《写给大忙人看的Java SE 8》——Java8新特性总结
虽然看过一些Java 8新特性的资料,但是平时很少用到,时间长了就忘了,正好借着Java 9的发布,来总结下一些Java 8中的新特性. 接口中的默认方法和静态方法 先考虑一个问题,如何向Java中的 ...
- 总结:Java 集合进阶精讲1
知识点:Java 集合框架图 总结:Java 集合进阶精讲1 总结:Java 集合进阶精讲2-ArrayList 集合进阶1---为集合指定初始容量 集合在Java编程中使用非常广泛,当容器的量变得非 ...
- Java 入门进阶
Java 入门进阶 發表於 2015-04-16 http://xielong.me/2015/04/16/%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%B7%A5%E7%A8%8B% ...
- Java的进阶之道
Java的进阶之道 一.温馨提示 尽量用google查找技术资料.(条件允许的话) 有问题在stackoverflow找找,大部分都已经有人回答. 多看官方的技术文档. ibm developerwo ...
- 在 Java SE 6 中监视和诊断性能问题
Java™ Platform, Standard Edition 6 (Java SE) 专注于提升性能,提供的增强工具可以管理和监视应用程序以及诊断常见的问题.本文将介绍 Java SE 平台中监视 ...
随机推荐
- Solutions:如何运用Elastic App Search快速建立出色的React搜索体验
建立搜索体验是一项艰苦的工作. 乍一看似乎很容易:建立一个搜索栏,将数据放入数据库,然后让用户输入对该数据库的查询. 但是,在数据建模,底层逻辑以及(当然)总体设计和用户体验方面,有很多事情要考虑. ...
- Typora如何配置gitee图床
转载自:https://mp.weixin.qq.com/s/5dPLbr2vFgL18XKL1Y05Og 要求: 1.Typora需要升级到最新版 2.需要安装nodejs PicGo软件下载地址: ...
- CentOS6 配置阿里云 NTP 服务
本文以Centos 6.5为例介绍如何修改Linux实例时区,以及开启和配置Linux NTP服务,保证实例本地时间精确同步. 前提条件 NTP服务的通信端口为UDP 123,设置NTP服务之前请确保 ...
- Jenkins忘记管理员密码怎么办
一.admin密码未更改情况 1.进入/root/.jenkins/secrets/目录,打开initialAdminPassword文件,复制密码: 2.访问Jenkins页面,输入管理员admin ...
- 延申三大问题中的第三个问题处理---发布更新时先把服务从注册中心给down下来,等待一段时间后再能更新模块
一开始采取的思路大致如下: 在preStop中使用/bin/sh命令,先down 然后sleep一段时间, 这种思路的执行情况如下: 假若升级容器使用的镜像版本的话,先执行preStop中的命令,sl ...
- day43-反射02
2.Class类 2.1基本介绍 Class类也是类,因此也继承Object类 Class类对象不是new出来的,而是系统创建的 对于某个类的Class类对象,在内存中只有一份,因为类只加载一次 每个 ...
- Vue实现拖拽穿梭框功能四种方式
一.使用原生js实现拖拽 点击打开视频讲解更加详细 <html lang="en"> <head> <meta charset="UTF-8 ...
- C++ 栈和典型迷宫问题
C++ 栈和迷宫问题 1. 前言 栈是一种受限的数据结构,要求在存储数据时遵循先进后出(Last In First Out)的原则.可以把栈看成只有一个口子的桶子,进和出都是走的这个口子(也称为栈顶) ...
- P2216 [HAOI2007]理想的正方形 方法记录
[HAOI2007]理想的正方形 题目描述 有一个 \(a \times b\) 的整数组成的矩阵,现请你从中找出一个 \(n \times n\) 的正方形区域,使得该区域所有数中的最大值和最小值的 ...
- you-get安装及使用
you-get安装及使用 1.安装python 下载地址:https://www.python.org/downloads/ 配置环境变量:我的电脑 --> 属性 --> 高级系统设置 - ...