【Collection】Java最常用的5种集合类(超详细分析)

本文详细介绍了Java集合框架中的Iterator、List(包括ArrayList、LinkedList等)、Set(如HashSet、TreeSet、LinkedHashSet)、Map(如HashMap、TreeMap、LinkedHashMap)以及工具类(Arrays和Collections)的核心方法。通过实例演示了如何使用这些接口进行数据操作。
摘要由CSDN通过智能技术生成

  • 超详细体系架构图:
    img

1、Iterator

img

体系结构:

  • Iterator

  • 注:一共就这四个方法:

返回值方法名解释
booleanhasNext()如果集合中存在元素,则返回true
Enext()返回集合的下一个元素
voidremove()删除next()返回的最后一个元素
voidforEachRemaining()对集合的每个剩余元素执行指定的操作
@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

img

体系结构:

  1. ArrayList
  2. LinkedList
  3. Stack
  4. Vector(线程安全,已被弃用)
  • 通用方法:contains()、isEmpty()、size()、clear()

1、ArrayList

返回值方法名解释
booleanvoidadd(E element)add(int index, E element)将指定元素追加到ArrayList的末尾在指定位置插入指定元素
booleanEremove(Object element)remove(int index)从ArrayList中移除指定元素移除指定位置的元素
Eget(int index)获取指定位置的元素
Eset(int index, E element)将指定位置的元素替换为新元素,并返回原来位置元素的值。

2、LinkedList

返回值方法名解释
booleanvoidbooleanadd(E element)add(int index, E element)addFirst(E element)元素插入到链表末尾指定位置插入元素在链表开头插入元素(addLast)
EbooleanEremove(int index)remove(E element)removeFirst()移除指定位置的元素,并返回被移除的元素从链表中移除指定元素移除并返回链表第一个元素(removeLast)
Evoidget(int index)getFirst()获取指定位置的元素,并返回其值。返回链表的第一个元素(getLast)
Eset(int index, E element)将指定位置的元素替换为新元素,并返回原来位置元素的值。

3、Stack

返回值方法名解释
Epush(E element)将元素压入栈顶
Epop()移除栈顶的元素
Epeek()返回栈顶的元素,但不移除它
booleanisEmpty()对集合的每个剩余元素执行指定的操作
intsize()返回栈中元素的数量

3、Set

img

体系结构:

  1. HashSet
  2. TreeSet
  3. LinkedHashSet
  • 通用方法:contains()、isEmpty()、size()、clear()

1、HashSet

返回值方法名解释
booleanadd(E element)addAll(Collection<? extends E> collection)将指定元素添加到HashSet中将指定集合中所有元素添加到HashSet中
booleanremove(Object element)removeAll(Collection<?> collection)从HashSet中移除指定元素从HashSet中移除与指定集合中元素相同的所有元素
booleanretainAll(Collection<?> collection)仅保留HashSet中与指定集合中元素相同的元素,移除其他元素。
booleancontainsAll(Collection<?> collection)判断HashSet是否包含指定集合中的所有元素

2、TreeSet

返回值方法名解释
booleanadd(E element)将指定元素添加到TreeSet中
booleanremove(Object element)从TreeSet中移除指定元素
Efirst()last()返回TreeSet中的第一个(最小)元素。返回TreeSet中的最后一个(最大)元素。
Eceiling(E element)floor(E element)返回TreeSet中大于等于给定元素的最小元素。返回TreeSet中小于等于给定元素的最大元素。
EpollFirst()pollLast()移除并返回TreeSet中的第一个(最小)元素。移除并返回TreeSet中的最后一个(最大)元素。
NavigableSetdescendingSet()返回TreeSet的逆序视图,其中元素按降序排列。

3、LinkedHashSet

返回值方法名解释
booleanadd(E element)将指定元素添加到LinkedHashSet中
booleanremove(Object element)从LinkedHashSet中移除指定元素
Eget(int index)根据索引位置获取LinkedHashSet中的元素。
Iteratoriterator()遍历LinkedHashSet中的元素
Object[]toArray()将LinkedHashSet转换为一个对象数组
booleanaddAll(Collection<? extends E> collection)将指定集合中的所有元素添加到LinkedHashSet中
booleanretainAll(Collection<?> collection)仅保留LinkedHashSet中与指定集合中的元素相同的元素,移除其他元素。

其他体系:Queue
img

1、PriorityQueue

返回值方法名解释
booleanoffer(E e)add(E e)都是插入到优先级队列中差别:队列已满时,offer返回false;add抛出异常
Epoll()检索并移除队列中的头部元素
booleanpeek()element()检索但不移除队列中的头部元素差别:队列为空时,peek返回null;element抛出异常
booleanremove(Object o)移除队列中的指定元素

4、Map

img

体系结构:

  1. HashMap
  2. TreeMap
  3. LinkedHashSet
  4. HashTable(线程安全,已被弃用)

1、HashMap

返回值方法名解释
Vput(K key, V value)将指定的键值对添加到HashMap中【键存在:并返回之前关联的值 / 键不存在:则返回null】
Vget(Object key)根据键获取HashMap中对应的值。
Vremove(Object key)移除HashMap中指定键对应的键值对,并返回之前关联的值。
booleancontainsKey(Object key)containsValue(Object value)判断HashMap中是否包含指定键 / 值。
SetkeySet()返回一个包含HashMap中所有键的Set集合,用于遍历或进行值的操作。
Collectionvalues()返回一个包含HashMap中所有值的Collection集合,用于遍历或进行值的操作。

2、TreeMap

  • 其他方法与上述HashMap相同!
返回值方法名解释
KfirstKey()lastKey()返回TreeMap中最小的键返回TreeMap中最大的键
KhigherKey(K key)lowerKey(K key)返回TreeMap中严格大于给定键的最小键;返回TreeMap中严格小于给定键的最大键;
KceilingKey(K key)floorKey(K key)返回TreeMap中大于或等于给定键的最小键;返回TreeMap中小于或等于给定键的最大键;
Map.Entry<K, V>pollFirstEntry()pollLastEntry()移除并返回TreeMap中最小的键值对移除并返回TreeMap中最大的键值对

3、LinkedHashMap

  • 其他方法与上述HashMap相同!
返回值方法名解释
booleanremoveEldestEntry(Map.Entry<K, V> eldest)在插入新的键值对之后,判断是否需要移除最老的键值对。默认实现为始终返回false,即不移除最老的键值对。如果需要实现移除策略,可以重写该方法。

5、工具类

体系结构:

  1. Arrays
  2. Collections

1、Arrays工具类

返回值方法名解释
StringtoString(array)将指定数组转换为字符串表示形式。返回的字符串包含数组的元素,以逗号分隔,并使用方括号括起来。
ListasList(array)将数组转换为List集合
Streamstream(array)将数组转换为流(Stream)对象,可以进行各种流操作。
voidsort(array)对数组进行升序排序。要求数组元素的类型实现Comparable接口。
intbinarySearch(array, key)返回栈顶的元素,但不移除它
T[]copyOf(original, newLength)对集合的每个剩余元素执行指定的操作
voidfill(array, value)将指定值填充到数组的每个元素中
inthashCode(array)返回指定数组的哈希码值

2、Collections工具类

返回值方法名解释
voidsort(list)对指定的List升序排序,要求元素的类型实现Comparable接口
voidreverse(list)反转指定List中元素的顺序
intbinarySearch(list, key)使用二分查找算法查找已排序List指定的关键字。返回关键字在List中的索引,如果找不到则返回负数
voidshuffle(list)随机排列指定List中的元素
booleanaddAll(collection, elements)将指定元素添加到指定Collection中。如果Collection发生改变,则返回true。
Tmax(collection)min(collection)返回集合中的最大/最小元素
intfrequency(collection, object)返回指定对象在指定Collection中出现的次数
Object[]toArray(collection)将指定Collection转换为数组
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值