Java基础——Java数据结构

java数据结构

java提供了强大的数据结构。主要有以下几种接口的类(传统遗留):

  • 枚举(Enumeration)

  • 位集合(BitSet)

  • 向量(Vector)

  • 栈(Stack)

  • 字典(Dictionary)

  • 哈希表(Hashtable)

  • 属性(Properties)

序号类描述
1Vector 该类和ArrayList非常相似,但是该类是同步的,可以用在多线程的情况,该类允许设置默认的增长长度,默认扩容方式为原来的2倍。
2Stack 栈是Vector的一个子类,它实现了一个标准的后进先出的栈。
3Dictionary Dictionary 类是一个抽象类,用来存储键/值对,作用和Map类相似。
4Hashtable Hashtable 是 Dictionary(字典) 类的子类,位于 java.util 包中。
5Properties Properties 继承于 Hashtable,表示一个持久的属性集,属性列表中每个键及其对应值都是一个字符串。
6BitSet 一个Bitset类创建一种特殊类型的数组来保存位值。BitSet中数组大小会随需要增加。

Java Stack 类

栈是Vector的一个子类,它实现了一个标准的后进先出的栈。

堆栈只定义了默认构造函数,用来创建一个空栈。 堆栈除了包括由Vector定义的所有方法,也定义了自己的一些方法。

 Stack()

除了由Vector定义的所有方法,自己也定义了一些方法:

序号方法描述
1boolean empty() 测试堆栈是否为空。
2Object peek( ) 查看堆栈顶部的对象,但不从堆栈中移除它。
3Object pop( ) 移除堆栈顶部的对象,并作为此函数的值返回该对象。
4Object push(Object element) 把项压入堆栈顶部。
5int search(Object element) 返回对象在堆栈中的位置,以 1 为基数。

Java Hashtable 类

Hashtable和HashMap类很相似,但是它支持同步,像HashMap一样,Hashtable在哈希表中存储键值对。

Hashtable定义了四个构造方法:

默认构造方法

 Hashtable()

构造函数创建指定大小的哈希表

 Hashtable(int size)

构造方法创建了一个指定大小的哈希表,并且通过fillRatio指定填充比例。填充比例必须介于0.0和1.0之间,它决定了哈希表在重新调整大小之前的充满程度

 Hashtable(int size,float fillRatio)

构造方法创建了一个以M中元素为初始化元素的哈希表。

哈希表的容量被设置为M的两倍。

 Hashtable(Map m)

Hashtable中除了从Map接口中定义的方法外,还定义了以下方法:

序号方法描述
1void clear( ) 将此哈希表清空,使其不包含任何键。
2Object clone( ) 创建此哈希表的浅表副本。
3boolean contains(Object value) 测试此映射表中是否存在与指定值关联的键。
4boolean containsKey(Object key) 测试指定对象是否为此哈希表中的键。
5boolean containsValue(Object value) 如果此 Hashtable 将一个或多个键映射到此值,则返回 true。
6Enumeration elements( ) 返回此哈希表中的值的枚举。
7Object get(Object key) 返回指定键所映射到的值,如果此映射不包含此键的映射,则返回 null. 更确切地讲,如果此映射包含满足 (key.equals(k)) 的从键 k 到值 v 的映射,则此方法返回 v;否则,返回 null。
8boolean isEmpty( ) 测试此哈希表是否没有键映射到值。
9Enumeration keys( ) 返回此哈希表中的键的枚举。
10Object put(Object key, Object value) 将指定 key 映射到此哈希表中的指定 value。
11void rehash( ) 增加此哈希表的容量并在内部对其进行重组,以便更有效地容纳和访问其元素。
12Object remove(Object key) 从哈希表中移除该键及其相应的值。
13int size( ) 返回此哈希表中的键的数量。
14String toString( ) 返回此 Hashtable 对象的字符串表示形式,其形式为 ASCII 字符 ", " (逗号加空格)分隔开的、括在括号中的一组条目。

Java Properties 类


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

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

Properties 定义如下实例变量.这个变量持有一个 Properties 对象相关的默认属性列表。

 Properties defaults;

Properties类定义了两个构造方法. 第一个构造方法没有默认值。

 Properties()

第二个构造方法使用propDefault 作为默认值。两种情况下,属性列表都为空:

 Properties(Properties propDefault)

除了从 Hashtable 中所定义的方法,Properties 还定义了以下方法:

序号方法描述
1String getProperty(String key) 用指定的键在此属性列表中搜索属性。
2String getProperty(String key, String defaultProperty) 用指定的键在属性列表中搜索属性。
3void list(PrintStream streamOut) 将属性列表输出到指定的输出流。
4void list(PrintWriter streamOut) 将属性列表输出到指定的输出流。
5void load(InputStream streamIn) throws IOException 从输入流中读取属性列表(键和元素对)。
6Enumeration propertyNames( ) 按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。
7Object setProperty(String key, String value) 调用 Hashtable 的方法 put。
8void store(OutputStream streamOut, String description) 以适合使用 load(InputStream)方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值