- List
1.ArrayList - 数组 - 查找效率高
(1)构造方法
–ArrayList()
构造一个初始容量为 10 的空列表。
–ArrayList(int initialCapacity)
构造一个具有指定初始容量的空列表。
(2)常用方法
–boolean add(E e)
将指定的元素添加到此列表的尾部。
–void add(int index, E element)
将指定的元素插入此列表中的指定位置。
– void clear()
移除此列表中的所有元素。
– E get(int index)
返回此列表中指定位置上的元素。
– int indexOf(Object o)
返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
– int lastIndexOf(Object o)
返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。
– boolean isEmpty()
如果此列表中没有元素,则返回 true
– E remove(int index)
移除此列表中指定位置上的元素。
– boolean remove(Object o)
移除此列表中首次出现的指定元素(如果存在)。
– E set(int index, E element)
用指定的元素替代此列表中指定位置上的元素。
–int size()
返回此列表中的元素数。
– Object[] toArray()
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
2.LinkedList
(1) 构造方法
–LinkedList()
构造一个空列表。
–LinkedList(Collection<? extends E> c)
构造一个包含指定 collection 中的元素的列表,这些元素按其 collection 的迭代器返回的顺序排列。
(2)常用方法
与ArrayList相同的方法:
boolean add(E e) ;void add(int index, E element) ;void clear() ;boolean contains(Object o) ;E get(int index) ;int indexOf(Object o) ; int lastIndexOf(Object o) ; E remove() ; E remove(int index) ;boolean remove(Object o) ; E set(int index, E element) ; Object[] toArray()
– void addFirst(E e)
将指定元素插入此列表的开头。
–void addLast(E e)
将指定元素添加到此列表的结尾。
– E getFirst() /getLast()
返回此列表的第一个/最后一个元素。
–boolean offerFirst(E e)
在此列表的开头插入指定的元素。
–boolean offerLast(E e)
在此列表末尾插入指定的元素。
– E peek()
获取但不移除此列表的头(第一个元素)。
– E poll()
获取并移除此列表的头(第一个元素)
-- E pop()
从此列表所表示的**堆栈**处弹出一个元素。
--void push(E e)
将元素推入此列表所表示的**堆栈**。
效率:插入效率 LinkedList效率略高 -> 性能基本上可以忽略
查找:查找效率 ArrayList效率高 -> 推荐使用
- Queue
- Deque(I): 首先是一个队列
添加双端队列的实现功能 offerFirst/Last
堵了一个出入口->单出入口 push/pop
–主要运用LinkedList,使用堆栈的方法。
- Set
散列结构:无顺序,分散排列,哈希值
1.TreeSet
基于 TreeMap 的 NavigableSet 实现。使用元素的***自然顺序***对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。
(1)构造方法
–TreeSet()
构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。
–TreeSet(Collection<? extends E> c)
构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。
(2)常用方法
–相同方法: boolean add(E e) ; boolean addAll(Collection<? extends E> c) ;void clear() ;boolean contains(Object o) ; boolean isEmpty() ;Iterator iterator() ;boolean remove(Object o) ; int size()
– E ceiling(E e)
返回此 set 中大于等于给定元素的最小元素;如果不存在这样的元素,则返回 null。
– Comparator<? super E> comparator()
返回对此 set 中的元素进行排序的比较器;如果此 set 使用其元素的自然顺序,则返回 null。
// 自定义比较器 - 用于Emp对象的比较
class MyComparator implements Comparator<Emp> {
// 比较
public int compare(Emp o1, Emp o2) {
int result = o1.getName().compareTo(o2.getName());//递增
return result == 0? o1.getAge() - o2.getAge(): result;
}
// compareTo(this, obj)
}
– E pollFirst()
获取并移除第一个(最低)元素;如果此 set 为空,则返回 null。
– E pollLast()
获取并移除最后一个(最高)元素;如果此 set 为空,则返回 null。
2.HashSet
底层HashMap
方法和Collection完全一致