黑马程序员技术交流社区
标题:
day04笔记
[打印本页]
作者:
aaa386376407
时间:
2018-11-15 12:47
标题:
day04笔记
##
能够说出
Map
集合特点
##
使用
Map
集合添加方法保存数据
##
使用
"
键找值
"
的方式遍历
Map
集合
##
使用
"
键值对
"
的方式遍历
Map
集合
##
能够使用
HashMap
存储自定义键值对的数据
##
能够使用
HashMap
编写斗地主洗牌发牌案例
java.util.Map<k,v>
集合
Map
双列集合的特点
:
1.
是一个双列集合
,
一个元素包含两个值
(key,value)//
每个元素由键值对组成
2.
集合中的元素
,key
和
value
的数据类型可以相同
,
也可以不同
.
3.
集合中的元素
,key
是不允许重复的
,value
是可以重复的
//
其中键不能重复
,
值可以重复
4.
集合中的元素
,key
和
value
是一一对应的
//
可以通过键找到对应的值
例
:
地图
:
地址
(
不可重复
)
地名
(
可重复
)
Map:
key value
**
通过
key
可以找到对应的值
Map
的实现类介绍
1.--HashMap
底层是哈希表的实现
(HashMap
中的键其实就是
HashSet)
--LinkedHashMap *
就是一个有序的
HashMap
2.--Hashtable
是同步的
,
不允许
null
键和
null
值
(HashMap
是不同步的
,
允许
null
键
/
值
,
但只能出现一次
)
--Properties
可以方便和
IO
流相结合来使用
Map
的常用方法
:
- public V put(K key, V value):
把指定的键与指定的值添加到
Map
集合中。
- public V remove(Object key):
把指定的键 所对应的键值对元素 在
Map
集合中删除,返回被删除元素的值。
- public V get(Object key)
根据指定的键,在
Map
集合中获取对应的值。
- boolean containsKey(Object key/value)
判断集合中是否包含指定的键。
- public Set<K> keySet():
获取
Map
集合中所有的键,存储到
Set
集合中。
- public Set<Map.Entry<K,V>> entrySet():
获取到
Map
集合中所有的键值对对象的集合
(Set
集合
)
。
遍历功能
:
第一种
:(
键找值
)
Set <K> xxx = map.keySet()
获取包含所有键的
Set
集合 其实
HashMap
中的键就相当于一个
HashSet
Set<String> keys = map.keySet();
第二种
:(
键值对
)
Set<Map.Entry< k , v >> xxx = map.entrySet()
获取包含所有键值对元素
(Entry)
的
Set
集合
Set<Map.Entry<String, String>> set = map.entrySet()
用
HashMap
存储自定义类型键值
由于
HashMap
中的键相当于一个
HashSet,
所以当
HashMap
中的键是自定义类型的时候
,
则需要重写
hashCode
和
equals
方法以保证元素唯一
其实使用
HashSet
存储元素的时候
,
底层是把元素存到
Map
中的键里面
JDK
中新特性
:
添加元素到集合的
of
方法
:
在
List,Map,Set
接口中定义了一些重载的静态方法
of
可以实现多个元素添加到集合中
注意事项
:
1.
只能使用接口类型调用这些静态方法
,
实现类去调用则不可以
2.
使用
of
方法将元素添加到集合中后
,
元素不能在改变
3.Map/Set
中不允许出现重复的键
/
元素
,
如果有重复元素
,
则会抛出异常
Debug
模式
:
1.
点断点
(
希望查看代码执行步骤的开始
)
2.
以
debug
模式启动
3.
按
F8
查看执行流程
(
看调用方法
,
则按下
F7
进入方法
)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2