unit1.List集合
List集合:
ArrayList集合:数组,不是同步的就是多线程,查询快增删慢
LinkedList集合:链表,多线程,pop弹出,push推进
Vector集合:数组,所有单列集合的元老,同步单线程。被ArrayList取代。
Set集合:不重复,无索引,所以不能使用普通for循环遍历,要用迭代器 HashSet集合: Hash值:
HashSet存储数据结构==哈希表结构:
Set集合存储元素不重复的原因:
HashSet存储自定义类型元素:
LinkedHashSet集合:有序的元素不重复的集合,hash表+双重链表
可变参数:
unit2 Collections集合工具类
Collections集合:
Map集合:Map<K,V> 键值对
子类:HashMap<K,V>,不允许重复,无序,多线程。数组+单向链表。
子类:LinkedHashMap<K,V>,有序。哈希表+链表。
方法:
集合遍历:
Entry键值对对象:Map.Entry<K,V> 映射项(键值对对象)。
Set<Map.Entry<String,Integer>> set = map.entrySet();
存储自定义类型键值对:在属性类中需要重写方法hashcode + equals ,实现类才可以展示。
HashMap<String, Person> map = new HashMap<>();
map.put("sjw",new Person("hhh",18));
LinkedHashMap集合:可预知迭代顺序
HashTable集合:
unit3 JDK9新功能,集合。
of()方法:
Debug追踪:添加断点,加在方法第一行,哪里有bug添加到哪里。
F8:逐行执行
F7:进入到方法中
Shift+F8:跳出方法
F9:调到下一个断点,如果没有,则结束了
Ctrl+F2:退出