本帖最后由 yangxiaoqiang 于 2018-11-20 16:28 编辑
Day3:数据结构
Collection接口
一:List集合
List集合体系的特点:
1. 元素存取有序 (存入和取出元素的顺序一致) 排序: 从小到大
2. 元素可以重复
3. 有索引
[size=18.6667px] set集合体系特点: 1 元素不可重复 [size=18.6667px]2 没有索引 1:ArrayList集合的特点
ArrayList底层的数据结构: 数组
ArrayList的特点: 查询快 增删慢 线程不安全, 效率高
2:LinkedList集合的特点和特有方法
LinkedList底层的数据结构: 链表
LinkedList的特点: 查询慢 增删快 线程不安全, 效率高
二:set集合
1:HashSet集合的特点 :
HashSet特点: 1. 元素不可重复 2. 没有索引 3. 元素存取无序 (存入和取出顺序有可能不一致) 4. 底层采用 哈希表 结构. (查询快) 哈希表 = 数组 + 链表或红黑树
2:LinkedHashSet集合的特点 :
LinkedHashSet特点: 1. 元素存取有序 (存入和取出顺序一致) 2. 元素不可重复 3. 没有索引
Day4:Map集合
Map集合的特点 :1. 是双列集合, 一个元素包含两个值 (键key, 值value) 键值对 2. key和value的类型可以相同, 也可以不同 3. key不允许重复, value可以重复 4. key和value是一一对应的, 一个键只能对应一个值HashMap特点: key 存储无序, 能存null值或null键 LinkedHashMap特点 key 存取有序
Map遍历方式一: keySet()方法实现通过键找值Map<String, String> map = new HashMap<>();
// keySet()遍历
Set<String> keys = map.keySet(); ①:Map对象调用KeySet()方法 ,获取包含所有Key的Set集合
for (String key : keys) { ②遍历Set集合,获取每个Key
// 通过每个键获取值
String value = map.get(key); ③通过Map对象调用get(Object key) 方法根据key获取value
// 打印当前键值对
System.out.println(key + "=" + value);
}
Map遍历方式二: Entry键值对对象介绍
Map<String, String> map = new HashMap<>();
// keySet()遍历
Set<Map.Entry<String, String>> entries = map.entrySet(); ①获取Map集合中所有的键值对对象的集合
for (Map.Entry<String, String> entry : entries) { ②遍历Map对象,获取键值对
// 通过Entry对象获取每个键值对
String value = entry.getKey();
String value = entry.getValue();
// 打印当前键值对
System.out.println(key + "=" + value);
}
|
|