黑马程序员技术交流社区
标题:
【石家庄校区】学习发帖
[打印本页]
作者:
Zzz...123
时间:
2019-5-7 14:48
标题:
【石家庄校区】学习发帖
Set集合的特点:无序的,LinkedHashSet是按写入顺序读取,TreeSet是按自己给定的顺序读取
无索引,不允许存储重复的值,借助于两个方法,hashCode() equals()
自然排序使用的接口和方法是:Comparable接口的的compareTo()方法
比较器排序使用的接口方法是Comparator接口中的compare()方法
Map集合的概述和特点:双列的 键值对方式存储数据 无序的(不强调)
一个键对应一个值
java.util包下 泛型两部分组成
是一个接口
Interface Map<K,V>k:键的类型,v:值得类型 键不允许重复 值可以重复
将键映射到值得对象:不能包含重复的键,每个键可以映射到最多一个值
采用多态的方式创建对象
具体的实现类:HashMap保证Map集合键的唯一性
Map 用put()方法添加元素 还可以作为覆盖写入的方法
put(K key, V value)将指定的值与该映射中的指定键相关联
当键重复的时候 新值就会把键以前的值替换掉
Map集合的基本方法
put(key,value) 添加元素
remove(key) 根据键删除键值对元素 返回键对应的值 如果没有要删除的键 返回null
clear() 一处所有键值对元素
containsKey(Object key):判断集合是否包含指定的键
containsValue(Object value):判断集合是否包含指定的值
isEmpty():判断集合是否为空
size():集合的长度,也就是集合中键值对的个数
Map集合的常用获取方法
V get(Object key)根据键获取值 根据K返回一个V
Set<K> keySet() 获取所有键的集合 返回一个Set<K>集合
Collection<V> values():获取所有值得集合 返回一个Collection<V>集合
Map集合的第一种遍历方式keySet()
我们刚才存储的元素都是成对出现的,所以我们把Map看成是一个夫妻对的集合
获取所有键的集合,用keySet()方法实现
遍历键的集合,获取到每一个键,用增强for实现
根据键去找值,用get(Object key)方法实现
HashSet借助于HashMap实现了哈希表
Map集合的第二种遍历方式entrySet()keySet() values()的结合
我们刚才存储的元素都是成对出现的,所以我们把Map看成是一个夫妻对的集合
获取所有键值对对象的集合
entrySet():获取所有键值对集合
遍历键值对对象的集合,得到每一个键值对对象
增强for 得到每一个Map.Entry 增强for写冒号左边
根据键值对对象获取键和值
getKey()获取键
getValue()获取值
Map集合的值可以传集合进去 没定义泛型就是Object类
集合可以嵌套
如:ArrayList<HashMap<String,String>> 遍历的时候循环嵌套 外边的循环代表遍历ArrayList集合
里边的循环遍历HashMap集合
使用Collections工具类对集合排序 多了个s 静态方法组成 类名调用
排序:sort(List<T> list)
翻转:reverse(List<T> list)
随机排列:shuffle()
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2