为了账号安全,请及时绑定邮箱和手机立即绑定

集合分类

标签:
Java

我们都知道java是面向对象的语言,数据多了放对象里,那么对象多了放哪里呢?集合或者数组中

那么集合和数组有什么区别呢?
数组一旦初始化长度是固定的 ,集合的长度是可变的
数组只能存储一种类型的对象和基本数据,集合能存储多种不同类型的对象

在平常开发张最常用的集合体系有三种一个是List(ArrayList LinkedList vector) 还有一个set(HashSet TreeSet) 和 map(HashTable HashMap TreeMap)

那么为什么集合体系要分这么多的种类呢?
因为每个容器底层对数据的存储方式不同,也就是数据结构(数据在内存中的构成情况)

List:有序,可以重复,因为该集合体系有索引
set:无序,不可重复,无索引
map:存储键值对,键是唯一的

ArrayList:底层数据结构是数组,jdk1.2出来的,不同步的
LinkedList:底层数据结构是链表
Vector:底层数据结构是数组,jdk1.1出来的,同步

HashSet:底层数据结构是哈希表
TreeSet:底层数据结构是二叉树

HashTable:底层数据结构是哈希表,不可以存入null键null值,线程同步,jdk1.0出来的
HashMap:底层数据结构是哈希表,可以存入null键null值,jdk1.2出来的
TreeMap:底层数据结构是二叉树,线程不同步,可以给map集合中的key排序,set集合的底层是map(map去掉值之后就是set,详情见java源代码)

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消