ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基础必备知识点

2022-05-19 16:32:54  阅读:235  来源: 互联网

标签:知识点 Java Dictionary 必备 枚举 Vector 哈希 数据结构


算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,java算法就是采用Java语言来实现解决某一问题的清晰指令。

数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。

一、Java 数据结构

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

  枚举(Enumeration)

  位集合(BitSet)

  向量(Vector)

  栈(Stack)

  字典(Dictionary)

  哈希表(Hashtable)

  属性(Properties)

  以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collection),我们后面再讨论。

二、枚举(Enumeration)

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

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

  关于枚举接口的更多信息,请参见枚举(Enumeration)。

三、位集合(BitSet)

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

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

  关于该类的更多信息,请参见位集合(BitSet)。

四、向量(Vector)

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

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

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

  关于该类的更多信息,请参见向量(Vector)

五、栈(Stack)

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

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

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

  关于该类的更多信息,请参见栈(Stack)。

六、字典(Dictionary)

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

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

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

  关于该类的更多信息,请参见字典( Dictionary)。

七、哈希表(Hashtable)

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

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

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

  关于该类的更多信息,请参见哈希表(HashTable)。

八、属性(Properties)

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

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

Java入门推荐: https://www.bilibili.com/video/BV1qL411u7eE?spm_id_from=333.337.search-card.all.click



搜索

复制

标签:知识点,Java,Dictionary,必备,枚举,Vector,哈希,数据结构
来源: https://www.cnblogs.com/aibianchengdexiaojiejie/p/16289028.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有