List Map Set

List 常用方法及其重要实现类

void add(E element,int index) //把E类型的元素element 添加到下标Index上

boolean add(E e) // 把元素e加到此列表的队尾,返回 是否成功

boolean addAll(int index,Collection<? extends E> c) //把 E类集合的子类或者自身类 从index开始插到此列表当中

boolean addAll(Collection<? extends E>c) //按照迭代器返回的位置加到此列表的末尾

void clear() //删除列表中的所有元素

boolean contain(Object o) // 如果列表中包含元素o 返回true

boolean contain(Collection<?> c) //如果列表包含集合c中的所有元素,返回true

list.of(任意个数); //不可改变

E get(int index) //返回下标元素

int hashCode() //返回此列表当中的哈希码值

int indexOf(Object o) //返回此列表中第一次出现元素o的下标 如果没有 则返回-1;

boolean isEmpty() //如果此列表不包含任何元素 返回true

literator listIiterator() //以适当的顺序返回该列表中的元素迭代器

literator listIterator(int index) //从指定位置 返回列表中元素的列表迭代器
List Map Set

default void sort​(Comparator<? super E> c) 根据指定的Comparator引发的顺序对此列表进行排序。

int size() //返回此列表中的元素数

E set​(int index, E element) //用指定的元素替换此列表中指定位置的元素 返回被替换的元素

E remove​(int index) //删除此列表中指定位置的元素 返回被删除的元素。

boolean remove​(Object o) //从该列表中删除指定元素的第一个匹配项(如果存在)

boolean removeAll​(Collection<?> c) //从此列表中删除指定集合中包含的所有元素

ArrayList Vector LinkedList的区别

ArrayList 和Vector是 数组结构 LibkedLIst 是双向数据结构
ArrayList LinkedList 线程不安全 查找便利,增删慢 Vector 线程安全 查找慢,增删快
ArrayList 与 Vector 构造方法有些不一样,扩容的方式不一样,前者是增加1.5倍(>> 1)后者增加指定容量,(可在构造方法中定义)
ArrayList() //构造一个初始容量为10的空列表。

ArrayList​(int initialCapacity) //构造具有指定初始容量的空列表。

ArrayList​(Collection<? extends E> c) //按照集合的迭代器返回的顺序构造一个包含指定集合元素的列表。

Vector() //构造一个空向量,使其内部数据数组的大小为 10 ,其标准容量增量为零。

Vector​(int initialCapacity) //构造一个具有指定初始容量且容量增量等于零的空向量。

Vector​(int initialCapacity, int capacityIncrement) //构造具有指定初始容量和容量增量的空向量。

Map //Mapping 的缩写

void clear() 从此映射中删除所有映射(可选操作)。

boolean containsKey​(Object key) 如果此映射包含指定键的映射,则返回 true 。

boolean containsValue​(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true 。

default void forEach​(BiConsumer<? super K,​? super V> action) 对此映射中的每个条目执行给定操作,直到处理完所有条目或操作引发异常。

V get​(Object key) 返回指定键映射到的值,如果此映射不包含键的映射,则返回 null 。

Set keySet() 返回此映射中包含的键的Set视图。

static <K,​V>
Map<K,​V> of() 返回包含零映射的不可修改映射。

V put​(K key, V value) 将指定的值与此映射中的指定键相关联(可选操作)。

void putAll​(Map<? extends K,​? extends V> m) 将指定映射中的所有映射复制到此映射(可选操作)。

V remove​(Object key) 如果存在,则从该映射中移除键的映射(可选操作)。

default boolean remove​(Object key, Object value) 仅当指定键当前映射到指定值时才删除该条目的条目。

int size() 返回此映射中键 - 值映射的数量。

Collection values() 返回此映射中包含的值的Collection视图。

Set keySet() 返回此映射中包含的键的Set视图。

HashMap Hashtable ConcurrentHashMap

HashMap 线程不安全 多桶同时 效率高

Hashtable 线程安全 单桶 效率低

ConcrrentHashMap 采用分段锁机制 每个桶一个 线程安全 效率比较高

Set

HashSet
HashSet() 构造一个新的空集; 支持HashMap实例具有默认初始容量(16)和加载因子(0.75)。

HashSet​(int initialCapacity) 构造一个新的空集; 支持HashMap实例具有指定的初始容量和默认加载因子(0.75)。

HashSet​(int initialCapacity, float loadFactor) 构造一个新的空集; 支持HashMap实例具有指定的初始容量和指定的加载因子。

TreeSetList Map Set

储存是有序的
如果是自定义的类 则需要使用comparable 方法!
List Map Set