Java数据结构
来源:互联网 发布:法甲德佩数据 编辑:程序博客网 时间:2024/06/15 13:30
Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类:
- 枚举(Enumeration)
- 位集合(BitSet)
- 向量(Vector)
- 栈(Stack)
- 字典(Dictionary)
- 哈希表(Hashtable)
- 属性(Properties)
以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collection)
一.向量(Vector)
Vector类实现了一个动态数组。
java.util 中的集合类包含 Java 中某些最常用的类。最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。
Vector和ArrayList和相似,但是两者是不同的:
- Vector是同步访问的。
- Vector包含了许多传统的方法,这些方法不属于集合框架。
Vector主要用在事先不知道数组的大小,或者只是需要一个可以改变大小的数组的情况。
Vector类支持4种构造方法,如下:
Vector(); //<span style="color: rgb(51, 51, 51); font-family: 'Microsoft Yahei', 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 24px;">创建一个默认的向量,默认大小为10;</span>Vector(int size);Vector(int size,int incr); //创建指定大小的向量,并且增量用incr指定. 增量表示向量每次增加的元素数目;Vector(Collection c); //<span style="color: rgb(51, 51, 51); font-family: 'Microsoft Yahei', 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 24px;">创建一个包含集合c元素的向量;</span>
二.栈(Stack)
栈是Vector的一个子类,它实现了一个标准的后进先出的栈。
堆栈只定义了默认构造函数【Stack()】,用来创建一个空栈。 堆栈除了包括由Vector定义的所有方法,也定义了自己的一些方法,如下:
Object peek( ); //查看堆栈顶部的对象,但不从堆栈中移除它;Object pop( ); //移除堆栈顶部的对象,并作为此函数的值返回该对象;Object push(Object element); //压入栈顶;
三.字典(Dictionary)
Dictionary 类是一个抽象类,用来存储键/值对,作用和Map类相似。
给出键和值,你就可以将值存储在Dictionary对象中。一旦该值被存储,就可以通过它的键来获取它。所以和Map一样, Dictionary 也可以作为一个键/值对列表。Dictionary类已经过时了。在实际开发中,你可以实现Map接口来获取键/值的存储功能
四.Map 接口
Map接口中键和值一一映射. 可以通过键来获取值。从概念上而言,您可以将 List 看作是具有数值键的 Map。
- 给定一个键和一个值,你可以将该值存储在一个Map对象. 之后,你可以通过键来访问对应的值。
- 当访问的值不存在的时候,方法就会抛出一个NoSuchElementException异常.
- 当对象的类型和Map里元素类型不兼容的时候,就会抛出一个 ClassCastException异常。
- 当在不允许使用Null对象的Map中使用Null对象,会抛出一个NullPointerException 异常。
- 当尝试修改一个只读的Map时,会抛出一个UnsupportedOperationException异常。
Java 自带了各种 Map 类。 这些 Map 类可归为三种类型:
- HashMap
- Hashtable
- Properties
- LinkedHashMap
- IdentityHashMap
- TreeMap
- WeakHashMap
- ConcurrentHashMap
- java.util.jar.Attributes
- javax.print.attribute.standard.PrinterStateReasons
- java.security.Provider
- java.awt.RenderingHints
- javax.swing.UIDefaults
- AbstractMap
Hashtable是原始的java.util的一部分, 是一个Dictionary具体的实现 。属于上面提到的核心Map中的通用Map。
然而,Java 2 重构的Hashtable实现了Map接口,因此,Hashtable现在集成到了集合框架中。它和HashMap类很相似,但是它支持同步。
- Java数据结构
- JAVA数据结构
- java数据结构
- java数据结构
- JAVA数据结构
- JAVA数据结构
- java数据结构
- java数据结构
- JAVA数据结构
- Java数据结构!!!
- JAVA数据结构
- JAVA数据结构
- JAVA数据结构
- java数据结构
- JAVA数据结构
- JAVA数据结构
- JAVA数据结构
- JAVA数据结构
- POJ 1488 TEX Quotes(模拟水题)
- 数据结构实验之查找五:平方之哈希表
- iOS中创建UITableViewCell的正确姿态
- 纯C语言的工作有前(钱)景吗?
- 数据结构C++实现——二叉树
- Java数据结构
- DB2搭建SQL复制环境
- 剑指offer系列之十二:调整数组顺序使奇数位于偶数前面
- crash反馈-----ACRA使用验证经历
- 杭电1671Phone List
- 浙江大学PAT_乙级_1047. 编程团体赛(20)
- 控件进度条
- TCP 流协议和消息分帧的理解
- 哈希表总结