设为首页
收藏本站
切换到宽版
登录
立即注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
论坛
BBS
VIP用户组
官网群
无名商城论坛
»
论坛
›
资源分享区
›
学习资源专区
›
【HC】Java基础集合
返回列表
发帖
查看:
426
|
回复:
0
[其他技术]
【HC】Java基础集合
[复制链接]
无名
无名
当前离线
积分
32464
1万
主题
1万
帖子
3万
积分
管理员
积分
32464
发消息
发表于 2022-5-8 18:41:28
|
显示全部楼层
|
阅读模式
Java集合
集合架构
Collection 接口存储一组不唯一,无序的对象
List 接口存储一组不唯一,有序(索引顺序)的对象
Set 接口存储一组唯一,无序的对象
Map接口存储一组键值对象,提供key到value的映射
Key 唯一 无序
value 不唯一 无序
List
特点:有序 不唯一(可重复)
ArrayList 线性表中的顺序表
在内存中分配连续的空间,实现了长度可变的数组
优点:遍历元素和随机访问元素的效率比较高
缺点:添加和删除需大量移动元素效率低,按照内容查询效率低,
LinkedList 线性表中双向链表
采用双向链表存储方式。
缺点:遍历和随机访问元素效率低下
优点:插入、删除元素效率比较高(但是前提也是必须先低效率查询才可。如果插入删除发 生在头尾可以减少查询次数)
List常用方法
List相对Collection增加了关于位置操作的方法
List的遍历方法
for
for-each
Iterator迭代器
理解面向接口编程
List list = new ArrayList();
ArrayList list = new ArrayList();
1
2
集合中内容是否相同
通过equals进行内容比较,而是==引用比较
set
特点:无序 唯一(不重复)
HashSet
采用Hashtable哈希表存储结构(神奇的结构)
优点:添加速度快 查询速度快 删除速度快
缺点:无序
LinkedHashSet
采用哈希表存储结构,同时使用链表维护次序
有序(添加顺序)
TreeSet
采用二叉树(红黑树)的存储结构
优点:有序 查询速度比List快(按照内容查询)
缺点:查询速度没有HashSet快
Set常用方法
Set相对Collection没有增加任何方法
Set的遍历方法
for-each
Iterator迭代器
无法使用for进行遍历(因为无序,所以没有get(i))
HashSet、HashMap或Hashtable中对象唯一性判断
重写其hashCode()和equals()方法
TreeSet中指明排序依据
实现Comparable接口
创建实现Compator接口的类。
哈希表存储原理
神奇的表结构,添加和查询数据速度非常快
Map
特点 key-value映射
HashMap
Key无序 唯一 (Set)
Value 无序 不唯一 (Collection)
LinkedHashMap
有序的HashMap 速度快
TreeMap
有序 速度没有hash快
Set和Map采用了相同的数据结构,只用于map的key存储数据,就是Set
无序
,
存储
,
哈希
,
唯一
,
遍历
相关帖子
•
【HC】redis的入门/原理/实战大总结
•
【HC】MyCat教程(简单介绍)
•
【NB】Python每日一练01
•
分享个MNBT宝塔主机的接口(无了)
•
【NB】HTML网页设计:列表
•
【原创】iApp获取SD卡名称
•
【夜未央】Oracle day05 教程
•
【沐洺】Amoli私有云V4.1.1 简约而不简单的私有云盘
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表