首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >分别介绍一下Collection接口和Map接口的常用方法

分别介绍一下Collection接口和Map接口的常用方法

作者头像
小焱
发布2025-11-12 16:12:33
发布2025-11-12 16:12:33
950
举报
文章被收录于专栏:软件安装软件安装
一、Collection 接口的常用方法

Collection 是存储单个元素的集合的根接口,定义了所有单元素集合(如 ListSetQueue)的通用操作,核心方法如下:

1. 添加元素
  • boolean add(E e):向集合中添加一个元素。
    • 对于 List(如 ArrayList),总是返回 true(允许重复);
    • 对于 Set(如 HashSet),若元素已存在则返回 false(不允许重复)。
  • boolean addAll(Collection<? extends E> c):将另一个集合中的所有元素添加到当前集合。
    • 若当前集合因添加操作发生变化(如至少添加了一个元素),返回 true
2. 删除元素
  • boolean remove(Object o):删除集合中第一个匹配的指定元素(依赖 equals() 方法判断相等),删除成功返回 true
  • boolean removeAll(Collection<?> c):删除当前集合中所有包含在集合 c 中的元素(即保留差集:当前集合 - c),修改则返回 true
  • boolean retainAll(Collection<?> c):仅保留当前集合中同时存在于集合 c 中的元素(即保留交集:当前集合 ∩ c),修改则返回 true
  • void clear():清空集合中所有元素,调用后 size() 为 0。
3. 判断与查询
  • int size():返回集合中元素的数量。
  • boolean isEmpty():判断集合是否为空(size() == 0 时返回 true)。
  • boolean contains(Object o):判断集合中是否包含指定元素(依赖 equals() 方法)。
  • boolean containsAll(Collection<?> c):判断当前集合是否包含集合 c 中的所有元素
4. 遍历与转换
  • Iterator<E> iterator():返回用于遍历集合的迭代器(Iterator),支持 hasNext()(是否有下一个元素)和 next()(获取下一个元素)。
  • Object[] toArray():将集合转换为 Object 数组(需手动强转类型,不常用)。
  • <T> T[] toArray(T[] a):将集合转换为指定类型的数组(推荐,避免类型转换问题)。
二、Map 接口的常用方法

Map 是存储键值对(Key-Value)的映射表接口(键唯一,值可重复),核心方法如下:

1. 添加/修改键值对
  • V put(K key, V value):添加或修改键值对。
    • key 已存在,则用 value 覆盖旧值,返回旧值
    • key 不存在,添加新键值对,返回 null
  • void putAll(Map<? extends K, ? extends V> m):将另一个 Map 中的所有键值对添加到当前 Map,重复的 key 会被覆盖。
2. 删除键值对
  • V remove(Object key):删除 key 对应的键值对,返回被删除的 value(若 key 不存在,返回 null)。
  • boolean remove(Object key, Object value):仅当 key 对应的 value 恰好为指定值时才删除,删除成功返回 true(更精确的删除)。
  • void clear():清空所有键值对,调用后 size() 为 0。
3. 查询与判断
  • V get(Object key):根据 key 获取对应的 value(若 key 不存在,返回 null,需注意 value 本身可能为 null 的情况)。
  • int size():返回键值对的数量。
  • boolean isEmpty():判断 Map 是否为空(size() == 0 时返回 true)。
  • boolean containsKey(Object key):判断 Map 中是否包含指定 key(依赖 hashCode()equals() 方法)。
  • boolean containsValue(Object value):判断 Map 中是否包含指定 value(需遍历所有值,效率较低)。
4. 遍历与视图
  • Set<K> keySet():返回所有 keySet 集合(因 key 唯一,故用 Set),可通过遍历 key 再用 get(key) 获取 value
  • Collection<V> values():返回所有 valueCollection 集合(因 value 可重复,故用 Collection)。
  • Set<Map.Entry<K, V>> entrySet():返回所有键值对的 Set 集合(EntryMap 的内部接口,代表一个键值对,包含 getKey()getValue() 方法),是遍历 Map 最高效的方式。
总结
  • Collection 方法聚焦“单个元素”的管理,核心是增删改查和遍历元素。
  • Map 方法聚焦“键值对”的操作,核心是通过 key 操作 value,并提供键、值、键值对三种视图用于遍历。

不同实现类(如 ArrayListListHashMapMap)会基于自身数据结构优化方法,但接口定义的行为是统一的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Collection 接口的常用方法
    • 1. 添加元素
    • 2. 删除元素
    • 3. 判断与查询
    • 4. 遍历与转换
  • 二、Map 接口的常用方法
    • 1. 添加/修改键值对
    • 2. 删除键值对
    • 3. 查询与判断
    • 4. 遍历与视图
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档