用户7386338
Java基础知识(七)--集合
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
用户7386338
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
Java基础知识(七)--集合
Java基础知识(七)--集合
用户7386338
关注
发布于 2021-05-13 11:34:47
426
0
发布于 2021-05-13 11:34:47
举报
文章被收录于专栏:
Java患者
集合
数组和集合存储引用数据类型,存的都是地址值
数组和集合的区别
数组长度是固定的,不能自动增长
集合的长度是可变的,可以根据元素的增加而增长
数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值
集合只能存储引用数据类型(对象),集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象
区别1
区别2
集合框架 Vector跟List的特点
ArrayList
底层数据结构是数组,查询快,增删慢
线程不安全,效率高
Vector
相对ArrayList查询慢(线程安全)
相对LinkedList增删慢(数组结构)
LinkedList
底层数据结构是链表,查询慢,增删快
线程不安全,效率高
泛型
泛型概述
通过参数化类型来实现在同一份代码上操作多种数据类型的技术
泛型好处
提高安全性(将运行期的错误转换到编译期)
省去强转的麻烦
Set
HashSet原理
当HashSet调用add()方法存储对象的时候,先调用对象的hashCode()方法得到一个哈希值,然后在集合中查找是否有哈希值相同的对象
如果没有哈希值相同的对象就直接存入集合
如果有哈希值相同的对象,就和哈希值相同的对象逐个进行equals()比较,比较结果为false就存入,true则不存
将自定义类的对象存入HashSet去重复
类中必须重写hashCode()和equals()方法
hashCode()属性相同的对象返回值必须相同,属性不同的返回值尽量不同
equals() 属性相同返回true,属性不同返回false。返回false的时候存储
LinkedHashSet
可以保证怎么存就怎么取
TreeSet
特点 TreeSet是用来排序的,可以指定一个顺序,对象存入之后会按照指定的顺序排列
自然顺序(Comparable)
TreeSet类的add()方法中会把存入的对象提升为Comparable类型
调用对象的compareTo()方法和集合中的对象比较
根据compareTo()方法返回的结果进行存储
比较器顺序(Comparator)
创建TreeSet的时候制定一个Comparator
如果传入了Comparator的子类对象,那么TreeSet就会按照比较器中的顺序排序
add()方法内部会自动调用Comparator接口中的compare()方法排序
调用的对象是compare方法的第一个参数,集合中的对象是compare方法的第二个参数
两种方式的区别
TreeSet构造函数什么都不传,默认按照类中Comparable的顺序
TreeSet如果传入Comparator,就优先按照Comparator
Map
map接口概素
将键映射到值的对象
一个映射不能包含重复的键
每个键最多只能映射到一个值
Map接口跟Collection接口的不同
Map是双列的,Collection是单列的
Map的键唯一,Collection的子体系Set是唯一的
Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素有效
HashMap跟Hashtable的区别
Hashtable是JDK1.0版本出现的,是线程安全的,效率低
HashMap是JDK1.2版本出现的,是线程不安全的,效率高
Hashtable不可以存储null键跟null值,HashMap可以存储null键跟null值
本文参与
腾讯云自媒体同步曝光计划
,分享自微信公众号。
原始发表:2021-05-08,如有侵权请联系
cloudcommunity@tencent.com
删除
存储
数据结构
hashmap
编程算法
本文分享自
Java患者
微信公众号,
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
本文参与
腾讯云自媒体同步曝光计划
,欢迎热爱写作的你一起参与!
存储
数据结构
hashmap
编程算法
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
文章
0
获赞
0
目录
集合
集合框架 Vector跟List的特点
泛型
泛型概述
泛型好处
Set
HashSet原理
LinkedHashSet
TreeSet
Map
map接口概素
Map接口跟Collection接口的不同
HashMap跟Hashtable的区别
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
免费体验
产品介绍
产品文档
COS新用户1元购,加赠10元代金券;新用户99元购,加赠100元代金券
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐