黑马程序员技术交流社区
标题:
<石家庄校区>Day3---4
[打印本页]
作者:
yangxiaoqiang
时间:
2018-11-20 16:21
标题:
<石家庄校区>Day3---4
本帖最后由 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);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2