我们都知道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 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦