java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet

List:有序、索引、可以重复

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第1张图片

List的特有方法:与索引相关的add\set\remove

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第2张图片

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第3张图片

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第4张图片

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第5张图片

迭代器的并发修改异常:在取元素的同时,继续往里面添加元素(下面包异常)

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第6张图片

数组查询快,增删慢;链表查询慢,增删快

ArrayList:增删慢,查询快

LinkedList:增删快,查询慢

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第7张图片

LinkedList的特有方法:addFirst addLast getFirst   getLast(不能多态调用)

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第8张图片

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第9张图片

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第10张图片

Vector类:同步的,所以运行速度慢,已经被ArrayList取代,现代基本不用

Set接口特点:无索引,不可以重复元素,方法和Collections全完相同

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第11张图片

HashSet

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第12张图片

Set的两种取出方式

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第13张图片

哈希表

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第14张图片

字符串对象的哈希值hashCode方法

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第15张图片

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第16张图片

HashSet

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第17张图片

哈希表的存储结构:先比较哈希值是否相同,相同比较equals方法,都相同挂下面桶的存储结构

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第18张图片

HashSet存储Person类时,姓名和年龄相同看成同一个对象,重写Person类的hashCode和equals方法,(ide快捷键能给自动生成)

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第19张图片

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第20张图片

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第21张图片

LinkedHashSet

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第22张图片

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第23张图片

面试题:HashCode协定

java基础----19-----List\ArrayList\LinkedList、Set\HashSet\LinkedHashSet_第24张图片

 

 

 

 

你可能感兴趣的:(javaSE)