util:collection<T> 集合单 Map<K,V>集合双
Map结合中有键和值 映射关系
基本特点:
1、该集合存储键值对 一对,一对往里存 而且要保证键的唯一性
Map方法:
1、添加
2、删除
3、判断
4、获取
获取还有两个方法:
entrySet() KeySet()
map集合有3个小弟HashTable HashMap TreeeMap 两个常见
HashTable底层的数据结构是哈希表 不可以存储null为键和值 元老级 jdk1.0
该集合是线程同步的
HashMap 底层的数据结构哈希表 常用 非同步 允许使用null为键和值 jdk1.2 效率高
TreeMap 底层的数据结构是二叉树结构 线程不同步 可以用于map集合中的键进行排序
Set集合和Map集合很像 Set底层就是使用map集合
集合取出的方法
1、KeySet() 将map所有的键存入集合中,因为set具备迭代器,所以可以通过迭代方式取出所有的键,再根据get方法,获取每一个键对应的值
map集合的取出原理:将Map结合转换为set集合再利用迭代器来取
2、 entrySet() 将map集合中的映射关系存入到set集合中,而这个关系的数据类型就是Map.Entry类型
Map.Entry其实Etntry也是一个接口,它是map接口中的一个内部接口内部有getKey()和getValue()
利用map集合存储自定义对象:
每一个学生都有对应的归属地
学生 Student 地址String
学生属性:姓名,年龄
注意:姓名和年龄相同的视为同一个学生 保证学生的唯一性
1、描述学生
2、定义map容器。将学生作为键,地址作为值。存入 HashMap
3、获取map集合中的元素
注意:ClassCastExpection("异常");
创建多个对象的类时,并且往hash表中放的时候或者往二叉树中的时候
什么时候使用map集合,当数据之间存在映射关系时,就要想到map集合
TreeMap<char,int> 错误 TreeMap<Character,Interager>正确
map集合扩展知识:
map集合被使用,是因为具备映射关系