JAVA算法之List、Set、Map核心操作速记表(易背版)

在Java开发中,List、Set、Map是最常用的三大集合,核心操作繁多且易混淆,尤其是新手在面试或开发中,经常需要快速回忆相关方法。本文整理了三大集合的核心操作速记表,搭配通俗解析和易背口诀,帮你快速记住关键用法,避开常见坑,适合新手入门和老开发快速回顾。

核心原则:记操作先记“核心功能”,再记“特有方法”,同类操作(增删改查)归为一类,避免零散记忆!
在这里插入图片描述

一、三大集合核心操作速记总表

表格按“集合类型→核心操作(增删改查/特有)→方法速记→易错点”整理,重点标注高频方法和易混淆点,方便直接背诵。

集合类型 操作分类 核心方法(速记版) 易背口诀 易错点提醒
List(有序、可重复、有索引) add(E)、add(int, E)、addAll(Collection) 增有俩add,索引可插入,.addAll批量加 add(int, E) 索引越界会报IndexOutOfBoundsException
remove(int)、remove(Object)、removeAll(Collection) 删分索引删、对象删,批量删除用removeAll remove(int)和remove(Object)重载,避免传错参数(如int型数字)
set(int, E) 改值用set,索引+新值,一步到位 set不能新增元素,索引必须存在,否则越界
查/特有 get(int)、indexOf(Object)、size()、isEmpty()、subList(int, int) 查用get加索引,indexOf找位置,subList取子串 subList返回的是原List的视图,修改会影响原集合
Set(无序、不可重复、无索引) add(E)、addAll(Collection) 增只有add,重复元素加不进 add返回boolean,重复添加返回false,不报错
remove(Object)、removeAll(Collection)、clear() 删用对象删,无索引别瞎传,clear清空全删除 Set无索引,不能用remove(int),会报编译错误
无直接改法(需先删后加) Set要改值,先删旧对象,再添新对象 直接修改元素属性(如对象字段),不会影响Set的去重判断
查/特有 contains(Object)、size()、isEmpty()、iterator() 查用contains,遍历用迭代,无索引别get HashSet无序,TreeSet有序(自然排序/比较器排序)
Map(键值对、键唯一、值可重复) 增/改 put(K, V)、putAll(Map)、putIfAbsent(K, V) put增改兼用,键存在改值,不存在新增;putIfAbsent防覆盖 键为null:HashMap允许1个null键,TreeMap不允许null键
remove(Object)、remove(K, V)、clear() 删按键删,也可键值匹配删,clear清空所有键值对 remove(K, V)只有键和值都匹配时才删除,返回boolean
get(K)、containsKey(K)、containsValue(V)、size()、isEmpty() 查值用get加键,查键用containsKey,查值用containsValue get(K)若键不存在,返回null,需注意空指针
特有 keySet()、values()、entrySet() keySet取所有键,values取所有值,entrySet取键值对 entrySet遍历效率高于keySet(减少get查询)

二、分集合速记解析(加深记忆)

结合速记表,补充每个集合的核心特点和高频用法,帮你把“口诀”转化为“实用能力”,避免只会背不会用。

1. List 集合(重点:索引操作)

核心特点:有序(插入顺序=遍历顺序)、可重复、有索引,常用实现类:ArrayList、LinkedList。

速记关键:所有操作都围绕“索引”展开,记住“增删改查都能用到索引”,区别于Set和Map。

高频场景:需要按顺序存储、频繁查询(ArrayList)、频繁插入删除(LinkedList)。

易错点补充:ArrayList扩容机制(初始容量10,扩容为1.5倍),LinkedList查询慢(需遍历)。

2. Set 集合(重点:去重)

核心特点:无序(HashSet)/有序(TreeSet)、不可重复、无索引,常用实现类:HashSet、TreeSet。

速记关键:“去重”是核心,无索引所以不能用索引操作,记住“增删查都靠对象,没有get(int)”。

高频场景:需要去重存储(如用户ID)、需要排序的去重场景(TreeSet)。

易错点补充:HashSet去重依赖equals()和hashCode(),重写这两个方法时需保持一致(equals相等,hashCode必相等)。

3. Map 集合(重点:键值对)

核心特点:键值对映射、键唯一、值可重复,常用实现类:HashMap、TreeMap、ConcurrentHashMap。

速记关键:“键是唯一标识”,所有操作围绕“键”展开,put是增改、get是查、remove是删,记住三个核心方法:put、get、remove。

高频场景:需要键值映射(如配置信息、用户信息)、高频查询(HashMap)、有序键值对(TreeMap)。

易错点补充:HashMap线程不安全,多线程场景用ConcurrentHashMap;TreeMap按键排序,需指定比较器或元素实现Comparable接口。

三、通用操作速记(三大集合都适用)

除了各集合的特有操作,以下通用操作无需单独记忆,所有Collection(List、Set)和Map都适用(或类似):

  • 判断空:isEmpty() → 口诀:“空不空,isEmpty”

  • 获取长度:size() → 口诀:“有多少,看size”

  • 清空集合:clear() → 口诀:“清干净,用clear”

  • 判断包含:contains()(Collection)、containsKey()/containsValue()(Map) → 口诀:“含不含,看contains”

  • 批量操作:addAll()、removeAll() → 口诀:“批量增删,加All”

四、背诵技巧(重中之重)

不用死记硬背所有方法,按以下步骤记,效率翻倍:

  1. 先记三大集合的核心特点(有序/无序、可重复/不可重复、有索引/无索引),特点决定操作方式(比如无索引就没有get(int))。

  2. 再记“增删改查”四大类操作,每类记1-2个核心方法,结合口诀(比如List的“增有俩add”)。

  3. 最后记易错点(比如Set无索引、Map键唯一),这些是面试和开发中最容易踩坑的地方。

  4. 每天花5分钟,对照速记表默写1遍核心方法,3天就能熟练记住,遇到场景能快速联想。

五、总结

List、Set、Map的核心操作,本质是围绕各自的“核心特点”设计的:List重索引、Set重去重、Map重键值映射。记住本文的速记表和口诀,避开易错点,无论是笔试刷题、面试问答,还是日常开发,都能快速调用相关方法,不用再反复翻文档。

如果觉得速记表不够细致,或者想补充某类集合的具体用法(如ArrayList和LinkedList对比),可以在评论区留言,后续补充完善~

创作不易,点赞+收藏,方便后续回顾;关注我,持续分享Java基础干货,助力新手快速入门!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐