集合框架 以及 底层数据结构

一,集合的由来:
    数组长度是固定的,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,Java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素增加而增加,随元素减少而减少
数组与集合的区别:
    1:基本数据类型存储的是值,引用数据类型存储的是地址值
        数组既可以存储基本数据类型,又可以存储引用型数据类型
          集合只能存储引用型数据类型(对象),集合中也能存储基本数据类型,但是存储的时候会自动封箱变成对象
    2:数组的长度是固定的,不能自动增长的
      集合长度是可变的,可以根据元素的增长而增长
    3:使用情况
        1.元素个数固定推荐使用数组
        2.元素个数不固定推荐使用集合

二,如何选用集合??

当遇到集合问题时往往不知如何选择集合,主要根据集合特点来选择,比如我们需要根据键值获取到元素值时就选用Map接口下的集合,需要排序时选择TreeMap,不需要排序时就选择HashMap,需要保证线程安全的就选用ConcurrentHsahMap。当我们只需要存放元素值时,就选择实现Collection接口的集合,需要保证元素唯一时选择实现Set接口的集合,比如TreeSet或HashSet,不需要

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

§九千七§

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值