二十九、java版 SpringCloud分布式微服务云架构之Java 数据结构

2023-11-03

Java 数据结构

Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类:

  • 枚举(Enumeration)
  • 位集合(BitSet)
  • 向量(Vector)
  • 栈(Stack)
  • 字典(Dictionary)
  • 哈希表(Hashtable)
  • 属性(Properties)

以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collection),我们后面再讨论。推荐分布式架构源码地址


枚举(Enumeration)

枚举(Enumeration)接口虽然它本身不属于数据结构,但它在其他数据结构的范畴里应用很广。 枚举(The Enumeration)接口定义了一种从数据结构中取回连续元素的方式。

例如,枚举定义了一个叫nextElement 的方法,该方法用来得到一个包含多元素的数据结构的下一个元素。


位集合(BitSet)

位集合类实现了一组可以单独设置和清除的位或标志。

该类在处理一组布尔值的时候非常有用,你只需要给每个值赋值一"位",然后对位进行适当的设置或清除,就可以对布尔值进行操作了。


向量(Vector)

向量(Vector)类和传统数组非常相似,但是Vector的大小能根据需要动态的变化。

和数组一样,Vector对象的元素也能通过索引访问。

使用Vector类最主要的好处就是在创建对象的时候不必给对象指定大小,它的大小会根据需要动态的变化。


栈(Stack)

栈(Stack)实现了一个后进先出(LIFO)的数据结构。

你可以把栈理解为对象的垂直分布的栈,当你添加一个新元素时,就将新元素放在其他元素的顶部。

当你从栈中取元素的时候,就从栈顶取一个元素。换句话说,最后进栈的元素最先被取出。


字典(Dictionary)

字典(Dictionary) 类是一个抽象类,它定义了键映射到值的数据结构。

当你想要通过特定的键而不是整数索引来访问数据的时候,这时候应该使用Dictionary。

由于Dictionary类是抽象类,所以它只提供了键映射到值的数据结构,而没有提供特定的实现。


哈希表(Hashtable)

Hashtable类提供了一种在用户定义键结构的基础上来组织数据的手段。

例如,在地址列表的哈希表中,你可以根据邮政编码作为键来存储和排序数据,而不是通过人名。

哈希表键的具体含义完全取决于哈希表的使用情景和它包含的数据。


属性(Properties)

Properties 继承于 Hashtable.Properties 类表示了一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。

Properties 类被许多Java类使用。例如,在获取环境变量时它就作为System.getProperties()方法的返回值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二十九、java版 SpringCloud分布式微服务云架构之Java 数据结构 的相关文章

随机推荐

  • 手机端页面自适应解决方案—rem布局

    相信很多刚开始写移动端页面的同学都要面对页面自适应的问题 当然解决方案很多 比如 百分比布局 弹性布局flex 什么是flex 也都能获得不错的效果 这里主要介绍的是本人在实践中用的最顺手最简单的布局方案 rem 什么是rem 布局 fun
  • 将yml文件导入conda,并连接到jupyter和pyCharm

    在GitHub上找了一篇文献 想复现一下 记录一下其中遇到的环境配置问题 我也不是很懂相关的操作 只是用来记录 如果我的操作有什么不必要或错误的地方 辛苦大家耐心指正 1 把yml文件安装到conda安装路径下的envs文件夹下 把cmd转
  • 加密算法(一)

    加密算法 参考 https blog csdn net qq 31878855 article details 69396791 加密算法分类 常见的加密算法可以分成两类 对称加密算法和非对称加密算法 对称加密算法 加密和解密用的是同一串密
  • 反卷积(Transposed Convolution, Fractionally Strided Convolution or Deconvolution)

    反卷积 Deconvolution 的概念第一次出现是Zeiler在2010年发表的论文 Deconvolutional networks 中 但是并没有指定反卷积这个名字 反卷积这个术语正式的使用是在其之后的工作中 Adaptive de
  • 记工作日常 - mysql 使用json格式 被dba拒绝执行

    首先 mysql版本在5 7以下是不支持json格式存储的 若使用json格式存储数据 在使用生成实体类的工具得到的文件字段类型为 object 场景 今天准备项目上线 在archery sql审核查询平台提交sql并进行审查 审查结果为
  • 微信小程序中的网络请求

    微信小程序中的网络请求 为了安全 微信小程序只能请求http类型接口 请求其他接口时必须将接口的域名添加到新人列表中 配置request合法域名 登录微信小程序管理后台添加链接描述 gt 开发 gt 开发设置 gt 服务器域名 gt 修改
  • Linux yum 命令介绍

    原文地址 http blog csdn net tianlesoftware article details 5092720 参考地址 http blog csdn net tianlesoftware article details 53
  • 小练习:三级菜单

    要求 1 运行程序输出第一级菜单 2 选择一级菜单某项 输出二级菜单 同理输出三级菜单 3 输入出错重新选择 4 进入每一层支持返回上一级和退出 5 入最后一层提醒 menu 001 011 111 1 1 1 211 2 2 2 311
  • GBase8s创建主键失败:[42000][-201] 发生语法错误 [00000]

    GBase8s创建主键失败 42000 201 发生语法错误 00000 问题描述 原因分析 解决方案 其他 参考链接 问题描述 场景描述 修改已存在表 添加主键失败 执行SQL ALTER TABLE 表名 ADD CONSTRAINT
  • 解决kali打开部分文件夹权限不够的问题

    其实非常简单 如图 右键 选择以root用户身份打开即可
  • GD32E23x的USART被断点打断后重新运行,会一直进入中断的问题

    GD32E23x的USART被断点打断后重新运行 会一直进入中断的问题 GD32E230K8单片机USART0连接一个从机芯片 该芯片每100ms发来一串16Bytes的数据 MCU中断接收 没有开启FIFO 只开启了RBNE 接收缓存非空
  • 关于STM32.. Error: L6218E: Undefined symbol xxxx(referred from xxxx.o).问题解决

    自己在编写有关利用CAN通讯 使用STM32控制电机旋转的代码中遇到了这一问题 错误应该是Can Send Msg这个函数在main中使用时没有定义 通过查找资料发现出现这一问题的主要原因有两个 1 未将头文件的路径导入 解决方法 将含有函
  • 人脸检测初级心得——分享一些比较易懂的经验与方法

    一 最重要的是一定一定 要谨慎一些 尤其是在安装配置深度学习环境时 尽量找一些比较好的教程跟着来 不要换教程 因为可能方法都不一样 导致环境安装失败 很头疼 二 我建议大家可以先不要着急 可以先看一些理论的知识 然后慢慢去实现 这样会理解的
  • 判断数组的方式(原型链,instanceOf)

    var arr 1 2 3 Array isArray arr true Object prototype toString call arr object Array arr constructor Array true arr inst
  • linux 提高文件读写速度 mmap,linux读写文件速度测试

    一 文件一次读入速度 linux下读文件这东西最后都是要通过系统调用sys read fd buf count 来实现的 所以如果要提高速度 就是最简单地调用sys read的封装 比如直接用read 或fread 下面是我在linux下的
  • 记一次javaMetaspace导致CPU200%的排查

    记一次javaMetaspace导致CPU200 的排查 1 场景 2 装arthas 3 分析代码 4 罪魁祸首 1 场景 insertMotionDataByWxCallBack方法并发多 其实也没多少 可能就3个 就导致CPU200
  • 校园网自动登录、断网重连

    校园网自动登录 断网重连 适用北航 其他学校可以照着模板自行修改 在ubuntu测试 windows应该也能用 需要下载chrome以及对应版本的chrome driver from selenium import webdriver fr
  • 数控加工插补功能指令

    1 G00 快速定位指令 格式 G00 XYZ 格式含义 G00 指令使刀具以点位控制方式从刀具当前点以最快速度运动到另一点 其轨 迹不一定是两点一线 有可能是一条折线 须知 1 刀具从上向下移动时 G00 XY Z 先定 XY 面 然后
  • vue.js -- 组件传值校验及单项数据流

    目录 组件间传值 静态传值 动态传值 params传值 传值校验 type校验 required校验 default校验 validator校验 单项数据流 总结 组件间传值 父子组件间传值 子组件通过props这个属性接受父组件传递过来的
  • 二十九、java版 SpringCloud分布式微服务云架构之Java 数据结构

    Java 数据结构 Java工具包提供了强大的数据结构 在Java中的数据结构主要包括以下几种接口和类 枚举 Enumeration 位集合 BitSet 向量 Vector 栈 Stack 字典 Dictionary 哈希表 Hashta