java学习_part01_java核心卷_day04_集合简介
1.1 集合框架
1.1.1 集合框架中的接口
java集合中主要有Collection接口和Map接口,其中Collection接口下主要有List接口和Set接口
1.1.2 集合框架中的具体实现类
1.2 集合接口
1.2.1 Collection接口
方法(部分) | 说明 |
---|---|
booleaen add( E e) | 添加元素 |
void clear() | 清空集合 |
boolean contains(Object o) | 如果集合包含o,则返回true |
boolean equals(Object o) | o和集合进行比较 |
int hashCode() | 返回集合的哈希值 |
boolean isEmpty() | 如果集合为空,返回true |
Iterator<E> iterator() | 返回集合元素的迭代器 |
boolean remove(Object o) | 如果集合中存在o,则删除,否则返回false |
int size() | 返回集合中的元素数目 |
Object[] toArray() | 返回包含集合中所有元素的数组 |
1.2.1.1 List接口
方法(部分) | 说明 |
---|---|
E get(int index) | 获取指定下标位置元素 |
int indexOf(Object o) | 返回列表中指定元素第一次出现的下标,如果没有,返回-1 |
E remove(int index) | 移除指定下标位置元素,并返回 |
boolean remove(Object o) | 移除第一次出现的指定元素o |
E set(int index, E element) | 指定元素element替换指定下标处元素 |
default void sort(Comparator<? super E> c) | 使用比较器进行列表排序 |
List<E> subList(int fromIndex, int toIndex) | 返回列表中fromIndex到toIndex之间的子列表视图 |
1.2.1.2 Set接口
方法(部分) | 说明 |
---|---|
boolean remove(Objcet o) | 如果set中存在元素o,则删除 |
1.2.2 Map接口
Map方法(部分) | 说明 |
---|---|
void clear() | 清空map |
boolean containsKey(Object key) | 如果有指定key,返回true |
boolean containsValue(Objcet value) | 如果有指定value,返回true |
Set<MapEntry<K, V>> entrySet() | 以set形式返回map中包含的键值对 |
boolean equals() | |
V get(Object key) | 如果有指定key,返回对应值,否则返回null |
default V getOrDefault(Object o, V defaultValue) | 如果有指定key,返回对应值,否则返回defaultValue |
int hashCode() | |
boolean isEmpty() | |
Set<K> keySet() | 以set形式返回map中包含的键 |
V put(K key, V value) | 存入键值对,如果已有指定key,则覆盖 |
V remove(Object key) | 从map中删除指定key的键值对 |
default boolean remove(Object K, Object V) | |
default V replace(K key, V value) | 用新值代替旧值 |
int size() | |
Collection<V> values() | 以Collection形式返回map中的值 |
内置接口:
Map.Entry<K, V>:键值对
Map.Entry内置接口方法(部分) | 说明 |
---|---|
boolean equals() | |
K getKey() | 返回键值对中的键 |
V getValue() | 返回键值对中的值 |
int hashCode() | |
V setValue() | 替换键值对中的值 |
补充:
-
哈希值hashcode:每个对象有一个唯一的哈希值
-
哈希化:将哈希值转化到数字下标范围内较小的值,哈希化以后无法保证唯一性,导致哈希冲突
-
哈希冲突解决:开放地址法或链地址法
1.2 常用集合具体实现类
1.2.1 List接口常用实现类
-
ArrayList
-
LinkedList
1.2.2 Set接口常用实现类
-
HashSet
-
TreeSet
-
LinkedHashSet
1.2.3 Map接口常用实现类
-
HashMap
-
HashTable
-
ConcurrentHashMap:
-
TreeMap
-
LInkedHashMap
-