• Java数据结构


    枚举Enumeration

    枚举接口定义了一些方法,哦那个给这些方法可以枚举(一次获得一个)对象集合中的元素。

    这种传统接口已被迭代器取代,虽然Enumeration还未被一起,但在目前的代码中很少使用了。

    boolean hasMoreElements()

    测试此枚举是否包含更多的元素。

    Object nextElement()

    如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。

    import java.util.Vector;
    import java.util.Enumeration;
     
    public class EnumerationTester {
     
       public static void main(String args[]) {
          Enumeration<String> days;
          Vector<String> dayNames = new Vector<String>();
          dayNames.add("Sunday");
          dayNames.add("Monday");
          dayNames.add("Tuesday");
          dayNames.add("Wednesday");
          dayNames.add("Thursday");
          dayNames.add("Friday");
          dayNames.add("Saturday");
          days = dayNames.elements();
          while (days.hasMoreElements()){
             System.out.println(days.nextElement()); 
          }
       }
    }
    View Code

    位集合BitSet

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

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

    一个Bitset类创建一种特殊类型的数组来保存位值。BitSet中数组大小会随需要增加。这和位向量(vector of bits)比较类似。

    BitSet定义了两个构造方法:

    (1)创建一个默认对象

    BitSet()

    (2)允许用户指定初始大小,所有位初始化为0

    BitSet(int size)

    向量Vector

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

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

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

    Vector 类实现了一个动态数组。和 ArrayList 很相似,但是两者是不同的:

    • Vector 是同步访问的。
    • Vector 包含了许多传统的方法,这些方法不属于集合框架。

    Vector类支持4种构造方法:

    (1)创建一个默认的向量,默认大小为10

    Vector()

    (2)创建指定大小的向量

    Vector(int size)

    (3)创建指定大小的向量,并且增量用incr指定。增量表示向量每次增加的元素数目。

    Vector(int size,int incr)

    (4)创建一个包含集合C元素的向量

    Vector(Collection c)

    栈Stack

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

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

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

     只有一个构造方法Stack()

    字典Dictionary

    Dictionary 类是一个抽象类,用来存储键/值对,作用和Map类相似。

    给出键和值,你就可以将值存储在Dictionary对象中。一旦该值被存储,就可以通过它的键来获取它。所以和Map一样, Dictionary 也可以作为一个键/值对列表。

    Dictionary类已经过时了。在实际开发中,你可以实现Map接口来获取键/值的存储功能。

    哈希表

    Hashtable是原始的java.util的一部分, 是一个Dictionary具体的实现 。

    然而,Java 2 重构的Hashtable实现了Map接口,因此,Hashtable现在集成到了集合框架中。它和HashMap类很相似,但是它支持同步。

    像HashMap一样,Hashtable在哈希表中存储键/值对。当使用一个哈希表,要指定用作键的对象,以及要链接到该键的值。

    然后,该键经过哈希处理,所得到的散列码被用作存储在该表中值的索引。

    属性Properties

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

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

    Map

    List和ArrayList

  • 相关阅读:
    java学习笔记----数据类型,变量,常量
    java学习笔记 --- java基础语法
    java学习笔记----java入门
    python 类方法
    nginx 限制ip/限制访问路径
    python 异常处理
    python 内置模块
    python 模块与包
    python函数基础用法
    python函数高级运用
  • 原文地址:https://www.cnblogs.com/blunFan/p/11667974.html
Copyright © 2020-2023  润新知