JAVA算法之List、Set、Map核心操作速记表(易背版)
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”
四、背诵技巧(重中之重)
不用死记硬背所有方法,按以下步骤记,效率翻倍:
-
先记三大集合的核心特点(有序/无序、可重复/不可重复、有索引/无索引),特点决定操作方式(比如无索引就没有get(int))。
-
再记“增删改查”四大类操作,每类记1-2个核心方法,结合口诀(比如List的“增有俩add”)。
-
最后记易错点(比如Set无索引、Map键唯一),这些是面试和开发中最容易踩坑的地方。
-
每天花5分钟,对照速记表默写1遍核心方法,3天就能熟练记住,遇到场景能快速联想。
五、总结
List、Set、Map的核心操作,本质是围绕各自的“核心特点”设计的:List重索引、Set重去重、Map重键值映射。记住本文的速记表和口诀,避开易错点,无论是笔试刷题、面试问答,还是日常开发,都能快速调用相关方法,不用再反复翻文档。
如果觉得速记表不够细致,或者想补充某类集合的具体用法(如ArrayList和LinkedList对比),可以在评论区留言,后续补充完善~
创作不易,点赞+收藏,方便后续回顾;关注我,持续分享Java基础干货,助力新手快速入门!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)