数据结构
2021-11-16 18:52:10 0 举报
AI智能生成
登录查看完整内容
讲述了超越数组、常用的Java数据结构、泛型等内容
作者其他创作
大纲/内容
不能改变大小
数组的限制
产生的原因
存储
检索
提高了一种以明确的方法
信息的方式
功能
数据结构介绍
以定义好的顺序遍历一系列元素的标准方式
作用
不能在数据结构外使用
使用范围
结构是否还包含其他元素
调用该方法查看是否可以继续遍历结构
hasNext()
获取结构中的下一个元素
返回Object对象
结合hasNext()方法使用,确保还有元素可以检索
该方法将引发NoSuchElementException异常
如果没有更多的元素
next()
常见方法
并非数据结构
注意
Iterator
1表示开
0表示关
开关值
1表示真
0表示假
布尔值
表示大量的二进制数据
使用场景
用位来存储布尔值
将属性定义位常量索引值
存储可以用布尔值来模拟的属性
分别设置或清除
跟踪一组布尔值
位
开/关状态之一
标记
BitSet
实现方式
每一位被初始化位false
初始化
设置位
set(int)
清除位
clear(int)
获取位组中的各个位
get
确定位组表示多少位
size
对位组进行比较方法
对位组进行按位运算的方法
常用方法
接受BitSet对象作为唯一的参数
使用索引引用每一位
无需通过按位运算来提取位置‘
自动增大
优点
位组
一个可缩放的对象数组
实现了矢量
根据需要增大和缩小
元素通过索引访问
自动地增大或缩小
当前存储的元素数目
矢量的大小
大于或等于矢量的大小
被分配来存储元素的内存量
矢量的容量
常见概念
矢量在创建时都为空
构造方法创建一个不含任何元素的默认实例
构造方法创建指定容量的矢量
内存管理效率越高
执行开销越大
增长值越小
构造方法创建指定矢量每次的增长量
创建方式
元素加入到矢量中
将元素加入到指定位置
add()
返回值进行强制类型转换
检索最后加入的元素
lastElement()
通过索引检索矢量中的元素
get()
将指定位置的元素删除
remove()
删除所有元素
clear()
使用索引
检验矢量中是否包含指定的元素
contains()
返回它的索引
如果包含
返回-1
没有
找出元素对应索引
indexOf()
删除指定元素
removeElement()
不使用索引
对元素进行操作的方法
元素数目
size()
插入空元素
矢量被扩展
索引值超过指定大小的元素都将被丢弃
矢量被压缩
将矢量缩放为指定的大小
setSize()
判断和操纵矢量大小
使大小和容量相等
trimToSize()
返回一个可供遍历的元素列表
iterator()
依次处理矢量中的所有元素
for(variable:structure)
for循环遍历
遍历数据结构
Vector
模拟以特定顺序进行访问的信息
新元素被加入到栈顶
弹出元素时,弹出的是栈顶的元素
看作垂直的对象堆栈
实现后进先出的堆栈
该类是Vector的子类
Strack类
将新的元素加入到栈中
push()
将元素从栈中弹出
pop()
获取栈顶元素
peek()
没有找到,返回-1
返回该元素离栈顶的距离
在堆栈中搜索元素
search()
判断堆栈是否为空
empty()
堆栈
存储通过键值引用的对象
为实现键映射数据结构定义了一个框架
定义了一种根据键值来
键值可以是任何东西
声明了大量用于操纵字典中数据的方法
本质
类Hashtable
其他实现了接口Map的类
键映射方法的实现
将对象放入到字典中
put
取得字典中的对象
删除指定键值对应的元素
获取结构中有多少元素
检测结构是否为空
isEmpty()
Map
标识符
键值
数值
定义了用于将
关联起来的数据结构
通过键值访问数据
适用场景
Dictionary是抽象类
从Dictionary派生而来,实现了接口Map
定义的键值结构组织数据
提供了键映射数据结构的完整实现
也有容量
Hashtable类
基于某种数据类型的键值来存储数据
越接近1.0,内存使用效率越高
越接近0.0,查找的效率越高
一个0.0到1.0的浮点数
决定了散列表如何以及何时为更多的元素分配空间
负载系数
具用由负载系数定义的效率
表示那些根据值进行查找或引用时太耗时的数据
散列表的大小超过这个乘积,将通过重新散列来增加容量
将表的当前大小同容量和负载系数乘积进行比较
如何分配内存
构造方法创建默认散列表
构造方法创建具用指定初始容量的散列表
构造方法创建具用指定初始容量和负载系数的散列表
删除散列表中的所有键值和元素
检测是否包含指定的对象
查找散列表
containsKey()
强行重新散列
rehash()
定义了该方法的类可以通过散列表进行高效地存储和访问
hashCode()
判断两个对象是否相等
equals()
散列表计算元素的键值
定义
它唯一地标识了散列表中的每个元素
通过整数散列码来访问这些字符串
字符串存入散列表
散列码
散列表
常用数据结构
指定数据结构中的期望的类
使数据结构处理任何类型的对象
不需要将其强制转换为所需的类
使检索数据结构中的对象更简单
期望的类用字符<>括起来,并放在数据结构名后面
当类很多时,可以在<>括起来后,使用逗号分隔
形式
泛型
Java数据结构
0 条评论
回复 删除
下一页