一大波Java来袭(五)——Java集合概述

本文深入解析Java集合体系,包括数组与集合的区别、集合类的主要接口及子接口、Java集合的三大分类及其特点、如何访问集合元素等核心知识点。同时,提供不同场景下的集合选择策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把“Java集合”比作是容器,可以把多个对象(实际:是对象的引用),扔在容器中

  1. JDK1.5之前,被丢进集合中的对象,会丢失起数据类型。默认为Object类型
  2. JDK1.5之后,不会丢失数据类型,因为引入了“泛型(作为下文重点)

本文将结合数据结构,重点讲述Java4种集合体系的功能和用法,并给出不同应用场景改如何选择?


一、同样是用于“存储数据”,既可以使用“数组”,有可以使用“集合”,有什么区别吗?

  1. 数组:
    1. 初始化时,决定了盛放数据的数量是固定的
    2. 无法保存,具有映射关系的数据
    3. 用于盛放:基本类型的值,或对象(对象的引用)
  2. 集合
    1. 恰好弥补数组的iii的不足
    2. 仅用于盛放:对象(对象的引用)

二、Java集合类主要由两个接口派生出:CollectionMap,两接口又包含了一些子接口和实现类(简化版)。

  1. Collection
    1. Set无序,不可重复
    2. List有序,可重复
  2. Map树,关联数组


三、把Java的所有集合分为3类:

  1. Set,类似于一个罐子,对象随机添加到Set集合中,Set集合无法记住添加元素的顺序。所以Set中的元素是不可重复的(否则系统无法准确识别这个元素)
  2. List,类似于一个数组,可以记住元素添加的顺序,区别在于List长度是可变的
  3. Map,也类似于一个罐子,只是里面的每个数据项都是有两个值组成的


Map接口,字典/关联数组,键值对存放,keyvalue单向一对一

  1. Map图,拆分为
    1.  key罐子(无序、不可重复,类似Set集合)
    2. value罐子(可重复,可根据索引查找,类似List集合【区别:此处为key索引,而不是数字索引】)

四、如何访问元素?

  1. Set,根据元素本身
  2. List,根据元素的索引
  3. Map,根据key来访问对应的value


相关文章:

    评论 4
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值