Map集合

java.util.Map<k,v>集合
Map集合特点:
1.Map集合是一个双列集合,一个元素包含两个值(一个key,一个value)
2.Map集合中的元素,key和value的数据类型可以相同,也可以不同
3.Map集合中掉元素,key是不允许重复的,value是可以重复的
4.Map集合中掉元素,key和value是一一对应的
java.util.HashMap<k,v>集合 implements Map<k,v>接口
HashMap集合的特点:
1.HashMap集合底层是哈希表:查询的速度特别快
JDK1.8之前:数组+单向链表
JDK1.8之后:数组+单向链表/红黑树(链表长度超过8):提高查询的速度
2.hashMap集合是一个无序集合,存储元素和取出怨怒是的顺序可能不一致
java.util.LinkedHashMap<k,v>集合 extends HashMap<k,v>集合
1.LinkedHashMap集合底层是哈希表+链表(保证迭代的顺序)
2.LinkedHashMap集合是一个有序集合,存储元素和取出元素的顺序是一致的

import 

Map集合的第一种遍历方式:通过键找值的方式
Map集合中的方法:
Set<K> keySet() 返回此映射中包含的键的Set视图
实现步骤:
1.使用Map集合中的方法keySet(),把Map集合中所有的Key取出来,存储到一个Set集合中
2.遍历Set集合,获取Map集合中的每一个Key
3.通过Map集合中的方法get(key),通过key找到value

import 

Map集合遍历的第二种方式:使用Entry对象遍历
Map集合中的方法:
1.Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系的视图
实现步骤:
1.使用Map集合中的方法entrySet(),把Map集合中多个Entry对象取出来,存储到一个Set集合中
2.遍历Set集合,获取每一个Entry对象
3.使用Entry对象中的方法getKey()和getValue()获取键与值

import 

HashMap存储自定义类型键值
Map集合保证key是唯一的:
作为key的元素,必须重写hashCode方法和equals方法,以保证key唯一

public 

Person类

import 

LinkedHashMap集合
java.util.LinkedHashMap<K,V> extends HashMap<K,V>
Map接口的哈希表和链接列表实现,具有可预知的迭代器顺序
底层原理:
哈希表+链表(记录元素的顺序)

import 

Hashtable集合

java.util.Hashtable<K,V>集合 implements Map<K,V>接口
Hashtable:底层也是一个哈希表,是一个线程安全的集合,是单线程集合,速度慢
HashMap:底层是一个哈希表,是一个线程不安全的集合,是多线程集合,速度快
HashMap集合(之前学的所有的集合):可以存储null值,null键
Hashtable结婚,不能存储null值,null键
Hashtable和Vector集合一样,在jdk1.2版本之后被更先进的(HashMap,ArrayList)取代
Hashtable的子类Properties依然活跃在历史舞台
Properties集合是唯一和IO流相结合的集合

import 

JDK9新特性
lis接口,Set接口,Map接口:增加了一个静态方法of,可以给集合一次性添加多个元素
static <E> list<E> of (E.. elements)
使用前提:
当集合中存储的元素的个数已经去欸的那个了,不再改变时使用
注意:
1.of方法只适用于list接口,Set接口,Map接口,不适用于接口的实现类
2.of方法的返回值是一个不可改变的集合,集合不必不能再使用add,put方法添加元素,否则会抛异常
3.Set接口和Map接口在调用of方法的时候,不能有重复元素,否则会抛出异常

public 

Debug调试代码

HashTable和HashMap的区别详解 - 割肉机 - 博客园​www.cnblogs.com

java学习笔记_Java学习笔记day11相关推荐

  1. java 7 学习笔记_Java学习笔记7-网络编程

    网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. java.net 包中 J2SE 的 API ...

  2. java 学习笔记_java学习笔记

    刚学java  选择传智博客 分享的视频,以下做的备忘 1.Hello World class Demo { public static void main(String[] args) { Syst ...

  3. java该怎么做笔记_JAVA学习笔记

    1.java.lang.NumberFormatException:有两种情况错误,第一就是数据类型转换错误.第二有空能 是没有传进参数,或者传进空参数.例如案例,本人的解决方法. if(str1.e ...

  4. java程序伪代码_Java学习笔记——伪代码及程序控制

    开学刚刚一个月,学习Java也已经有三周. 老师给了下面的实验题目: 某教师需要一个学生成绩计算应用程序.每个学生总评成绩是由平时成绩.期中成绩.期末成绩 和其它成绩组成,其所占比例为:平时成绩30% ...

  5. java学习笔记_Java学习笔记——第1篇

    Java程序运行机制 Java程序要经过先编译,后解释两个步骤 编译型:高级语言源码 -->机器码(一次性)    生成可执行程序,脱离开发环境,在指定平台上运行.(C/C++/Objectiv ...

  6. java教学笔记_java学习笔记(一)

    一.java规则:静态变量即类变量(区别与实例变量)用类方法即静态方法访问 例: public classObject_1 {static int i=1;static{//静态区域块,只执行一次,当 ...

  7. java 字符串赋值_Java 学习笔记(二)变量

    标识符  标识符就是名字.类名,变量名,方法名,参数名等  标识符的命名规则  以字母.下划线或美元符号$开头,不能以数字开头 其后可以是字母.数组或美元符号$ 区分大小写 避免使用关键字  ...

  8. java作用域对象笔记_Java学习笔记(七)——对象

    一.类与对象 1.类的定义 类就是模型,确定对象将会拥有的特征(属性)和行为(方法). 2.类的特点 (1)类是对象的类型 (2)具有相同属性和方法的一组对象的集合. 3.对象的属性: 对象具有的各种 ...

  9. java 调用弗雷_JAVA 学习笔记

    封装: 将类的某些信息隐藏在类的内部,不允许外部程序访问,而是通过该类提供的方法实现对隐藏信息的操作和访问,保证了数据的安全性.(可以隐藏类的细节,方便修改) 封装的实现步骤: 1.修改属性的可见性: ...

最新文章

  1. JVM运行时数据区---堆(TLAB)
  2. R语言Brown-Forsythe检验验证组间方差是否相等实战:执行Brown-Forsythe检验、如果各组间的方差不相等我们该怎么办(进行方差分析)
  3. 北京国家新一代人工智能创新发展试验区正式成立
  4. 荣耀6 原生Android,荣耀6 (移动4G) 官方原生简约实用 流畅省电 杜比音效 网速显示-刷机之家...
  5. ubuntu mysql emma_ubuntumysql客户端emma中文乱码问题解决_MySQL
  6. python连接阿里云数据库_python连接阿里云数据库
  7. Javascript 获取和设置日期
  8. 9.6 LSMW程序删除操作手册-录屏
  9. leetcode —— 1. 两数之和
  10. Mindomo Desktop for mac(思维导图软件)中文版
  11. Can't open /dev/sdb1 exclusively. Mounted files
  12. Frequent Pattern Tree 频繁模式数
  13. 微信小程序如何转云开发
  14. SpringBoot文件下载
  15. docker(十五):docker-swarm三节点集群搭建
  16. python配对t检验_用python进行配对样本差异分析
  17. 让你的短信应用迎接Android 4.4(KitKat)
  18. 嵩天老师的Python基础MOOC课笔记
  19. 智能变电站远程监控解决方案
  20. Agile——Scrum

热门文章

  1. junit:junit_简而言之,JUnit:测试隔离
  2. 遗传算法可用什么算法代替_获取可用密码算法的列表
  3. -javaagent:_从javaagent迁移到JVMTI:我们的经验
  4. Spring MVC的DispatcherServlet – Java开发人员应该知道的10件事
  5. java java se_Java SE 11:推动Java前进
  6. 复制模式和扩展模式_扩展剂:模式还是反模式?
  7. java 反编译项目_Java 7 –反编译项目硬币
  8. 将数据压缩到数据结构中
  9. java中文件处理之图片_在Java 7中处理文件
  10. hornetq_Spring 3 HornetQ 2.1集成教程