- 超详细体系架构图:
1、Iterator
体系结构:
-
Iterator
-
注:一共就这四个方法:
返回值 | 方法名 | 解释 |
---|---|---|
boolean | hasNext() | 如果集合中存在元素,则返回true |
E | next() | 返回集合的下一个元素 |
void | remove() | 删除next()返回的最后一个元素 |
void | forEachRemaining() | 对集合的每个剩余元素执行指定的操作 |
@Test
public void main(){
//创建一个ArrayList
List<Integer> num = Arrays.asList(1, 2, 3);
ArrayList<Integer> nums = new ArrayList<>(num);
//创建Iterator的实例
Iterator<Integer> iterate = nums.iterator();
//1、使用next()方法
int number = iterate.next();
//2、使用remove()方法
iterate.remove();
//3、使用hasNext()方法
while(iterate.hasNext()) {
//4、使用forEachRemaining()方法
iterate.forEachRemaining((value) -> System.out.print(value + ", "));
}
}
2、List
体系结构:
- ArrayList
- LinkedList
- Stack
- Vector(线程安全,已被弃用)
- 通用方法:contains()、isEmpty()、size()、clear()
1、ArrayList
返回值 | 方法名 | 解释 |
---|---|---|
booleanvoid | add(E element)add(int index, E element) | 将指定元素追加到ArrayList的末尾在指定位置插入指定元素 |
booleanE | remove(Object element)remove(int index) | 从ArrayList中移除指定元素移除指定位置的元素 |
E | get(int index) | 获取指定位置的元素 |
E | set(int index, E element) | 将指定位置的元素替换为新元素,并返回原来位置元素的值。 |
2、LinkedList
返回值 | 方法名 | 解释 |
---|---|---|
booleanvoidboolean | add(E element)add(int index, E element)addFirst(E element) | 元素插入到链表末尾指定位置插入元素在链表开头插入元素(addLast) |
EbooleanE | remove(int index)remove(E element)removeFirst() | 移除指定位置的元素,并返回被移除的元素从链表中移除指定元素移除并返回链表第一个元素(removeLast) |
Evoid | get(int index)getFirst() | 获取指定位置的元素,并返回其值。返回链表的第一个元素(getLast) |
E | set(int index, E element) | 将指定位置的元素替换为新元素,并返回原来位置元素的值。 |
3、Stack
返回值 | 方法名 | 解释 |
---|---|---|
E | push(E element) | 将元素压入栈顶 |
E | pop() | 移除栈顶的元素 |
E | peek() | 返回栈顶的元素,但不移除它 |
boolean | isEmpty() | 对集合的每个剩余元素执行指定的操作 |
int | size() | 返回栈中元素的数量 |
3、Set
体系结构:
- HashSet
- TreeSet
- LinkedHashSet
- 通用方法:contains()、isEmpty()、size()、clear()
1、HashSet
返回值 | 方法名 | 解释 |
---|---|---|
boolean | add(E element)addAll(Collection<? extends E> collection) | 将指定元素添加到HashSet中将指定集合中所有元素添加到HashSet中 |
boolean | remove(Object element)removeAll(Collection<?> collection) | 从HashSet中移除指定元素从HashSet中移除与指定集合中元素相同的所有元素 |
boolean | retainAll(Collection<?> collection) | 仅保留HashSet中与指定集合中元素相同的元素,移除其他元素。 |
boolean | containsAll(Collection<?> collection) | 判断HashSet是否包含指定集合中的所有元素 |
2、TreeSet
返回值 | 方法名 | 解释 |
---|---|---|
boolean | add(E element) | 将指定元素添加到TreeSet中 |
boolean | remove(Object element) | 从TreeSet中移除指定元素 |
E | first()last() | 返回TreeSet中的第一个(最小)元素。返回TreeSet中的最后一个(最大)元素。 |
E | ceiling(E element)floor(E element) | 返回TreeSet中大于等于给定元素的最小元素。返回TreeSet中小于等于给定元素的最大元素。 |
E | pollFirst()pollLast() | 移除并返回TreeSet中的第一个(最小)元素。移除并返回TreeSet中的最后一个(最大)元素。 |
NavigableSet | descendingSet() | 返回TreeSet的逆序视图,其中元素按降序排列。 |
3、LinkedHashSet
返回值 | 方法名 | 解释 |
---|---|---|
boolean | add(E element) | 将指定元素添加到LinkedHashSet中 |
boolean | remove(Object element) | 从LinkedHashSet中移除指定元素 |
E | get(int index) | 根据索引位置获取LinkedHashSet中的元素。 |
Iterator | iterator() | 遍历LinkedHashSet中的元素 |
Object[] | toArray() | 将LinkedHashSet转换为一个对象数组 |
boolean | addAll(Collection<? extends E> collection) | 将指定集合中的所有元素添加到LinkedHashSet中 |
boolean | retainAll(Collection<?> collection) | 仅保留LinkedHashSet中与指定集合中的元素相同的元素,移除其他元素。 |
其他体系:Queue
1、PriorityQueue
返回值 | 方法名 | 解释 |
---|---|---|
boolean | offer(E e)add(E e) | 都是插入到优先级队列中差别:队列已满时,offer返回false;add抛出异常 |
E | poll() | 检索并移除队列中的头部元素 |
boolean | peek()element() | 检索但不移除队列中的头部元素差别:队列为空时,peek返回null;element抛出异常 |
boolean | remove(Object o) | 移除队列中的指定元素 |
4、Map
体系结构:
- HashMap
- TreeMap
- LinkedHashSet
- HashTable(线程安全,已被弃用)
1、HashMap
返回值 | 方法名 | 解释 |
---|---|---|
V | put(K key, V value) | 将指定的键值对添加到HashMap中【键存在:并返回之前关联的值 / 键不存在:则返回null】 |
V | get(Object key) | 根据键获取HashMap中对应的值。 |
V | remove(Object key) | 移除HashMap中指定键对应的键值对,并返回之前关联的值。 |
boolean | containsKey(Object key)containsValue(Object value) | 判断HashMap中是否包含指定键 / 值。 |
Set | keySet() | 返回一个包含HashMap中所有键的Set集合,用于遍历或进行值的操作。 |
Collection | values() | 返回一个包含HashMap中所有值的Collection集合,用于遍历或进行值的操作。 |
2、TreeMap
- 其他方法与上述HashMap相同!
返回值 | 方法名 | 解释 |
---|---|---|
K | firstKey()lastKey() | 返回TreeMap中最小的键返回TreeMap中最大的键 |
K | higherKey(K key)lowerKey(K key) | 返回TreeMap中严格大于给定键的最小键;返回TreeMap中严格小于给定键的最大键; |
K | ceilingKey(K key)floorKey(K key) | 返回TreeMap中大于或等于给定键的最小键;返回TreeMap中小于或等于给定键的最大键; |
Map.Entry<K, V> | pollFirstEntry()pollLastEntry() | 移除并返回TreeMap中最小的键值对移除并返回TreeMap中最大的键值对 |
3、LinkedHashMap
- 其他方法与上述HashMap相同!
返回值 | 方法名 | 解释 |
---|---|---|
boolean | removeEldestEntry(Map.Entry<K, V> eldest) | 在插入新的键值对之后,判断是否需要移除最老的键值对。默认实现为始终返回false,即不移除最老的键值对。如果需要实现移除策略,可以重写该方法。 |
5、工具类
体系结构:
- Arrays
- Collections
1、Arrays工具类
返回值 | 方法名 | 解释 |
---|---|---|
String | toString(array) | 将指定数组转换为字符串表示形式。返回的字符串包含数组的元素,以逗号分隔,并使用方括号括起来。 |
List | asList(array) | 将数组转换为List集合 |
Stream | stream(array) | 将数组转换为流(Stream)对象,可以进行各种流操作。 |
void | sort(array) | 对数组进行升序排序。要求数组元素的类型实现Comparable接口。 |
int | binarySearch(array, key) | 返回栈顶的元素,但不移除它 |
T[] | copyOf(original, newLength) | 对集合的每个剩余元素执行指定的操作 |
void | fill(array, value) | 将指定值填充到数组的每个元素中 |
int | hashCode(array) | 返回指定数组的哈希码值 |
2、Collections工具类
返回值 | 方法名 | 解释 |
---|---|---|
void | sort(list) | 对指定的List升序排序,要求元素的类型实现Comparable接口 |
void | reverse(list) | 反转指定List中元素的顺序 |
int | binarySearch(list, key) | 使用二分查找算法查找已排序List指定的关键字。返回关键字在List中的索引,如果找不到则返回负数 |
void | shuffle(list) | 随机排列指定List中的元素 |
boolean | addAll(collection, elements) | 将指定元素添加到指定Collection中。如果Collection发生改变,则返回true。 |
T | max(collection)min(collection) | 返回集合中的最大/最小元素 |
int | frequency(collection, object) | 返回指定对象在指定Collection中出现的次数 |
Object[] | toArray(collection) | 将指定Collection转换为数组 |