Java 集合有哪些
你有没有遇到过这种情况:手机相册里存了几百张照片,想找去年的旅行照得翻好久;购物车里加了几十件商品,想对比两款口红的颜色得来回切页面?这些“一堆东西要整理、要查找”的场景,其实和编程里的“集合”概念很像。而Java语言里,就自带了一套专门管“一堆数据”的工具——Java集合。
很多新手刚接触Java时,会把集合和数组搞混:数组虽然也能装多个数据,但它就像个“固定大小的抽屉”,装完苹果就塞不下橘子,而且取东西得按编号找(比如第3个元素),没法直接按名字或属性搜。Java集合就不一样了,它是个“灵活的收纳盒”,能装任意数量的不同类型数据,还自带各种好用的功能,像“按名字找东西”“不装重复的东西”“自动排序”这些,不用自己写代码实现。

接下来咱们分几类说,都是平时开发里用得最多的,生活化例子好懂:
第一类:List——“按顺序排队的队伍”
如果需要“按顺序存东西,还能重复装一样的”,就选List。它就像奶茶店的取餐队伍,谁先来的排前面,后来的插在队尾,还能有两个一样的人(比如有人点了两杯珍珠奶茶,就是两个重复的元素)。
比如你把一周的早餐安排存进List:周一豆浆、周一包子、周二油条……既能按顺序找“周三的早餐”,也能直接改“周一的早餐”从豆浆换成牛奶。常用的实现类是ArrayList,就像超市的购物车,装东西快、找东西也快,平时用得最多。
第二类:Set——“不重复的收纳篮”
要是不想装重复的东西,Set就派上用场了。它像你家门口的鞋架,同一层不会放两双一样的运动鞋,就算不小心放了两双,也会自动去掉重复的。
比如你把喜欢的电影名字存进Set,就算不小心两次输入了“《流浪地球》”,最后也只会存一个。常用的实现类是HashSet,就像快递柜,东西放进去时会贴个“编号标签”,找东西不用挨个翻,直接按标签找,速度特别快。
第三类:Map——“带名字的抽屉柜”
如果需要“按名字找东西,不用按顺序”,Map就是专门的“键值对收纳盒”。它像你的手机通讯录,“张三”这个名字对应他的手机号,“李四”对应他的微信号,你不用挨个翻名字找,直接搜“张三”就能拿到对应的号码。
比如你把学生的学号和姓名存进Map,学号是“键”(相当于名字),姓名是“值”,要找“学号2023001的学生姓名”,直接搜键就能拿到结果。常用的实现类是HashMap,就像外卖平台,输入收货地址(键),就能直接拿到对应的商家信息(值),操作起来特别方便。
很多人会问:“这么多集合,我该用哪个?”其实不用记复杂的规则,按需求选就行:要排队就用List,要去重复就用Set,要按名字找东西就用Map。
简单说,Java集合就是帮你省事儿的工具——不用自己写代码管“装多少东西”“找东西”“去重复”这些杂活,直接用现成的类就行,就像用洗衣机不用自己搓衣服,用导航不用自己算路线。下次写代码遇到“一堆数据要处理”的情况,别再硬写循环了,选个合适的Java集合,就能少走很多弯路。