Java基础八:数据结构(传统遗留的)

Java基础八:数据结构(传统遗留的)

枚举(Enumeration)

Enumeration接口中定义了一些方法,通过这些方法可以枚举(一次获得一个)对象集合中的元素。类似于迭代器的功能,这种传统接口已被迭代器取代

序号方法描述
1boolean hasMoreElements( )
 测试此枚举是否包含更多的元素。
2Object 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()); 
      }
   }
}

位集合(BitSet)

一个Bitset类创建一种特殊类型的数组来保存位值。BitSet中数组大小会随需要增加。这和位向量(vector of bits)比较类似。理解为:集合(有去重功能),可以进行两个集合之间的交集,并集等操作

使用实例:

Java基础八:数据结构(传统遗留的)

向量(Vector)

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

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

Vector 类支持 4 种构造方法。

Vector()                     # 创建一个默认的向量,默认大小为 10
Vector(int size)             # 创建指定大小的向量
Vector(int size,int incr)    # 创建指定大小的向量,并且增量用 incr 指定。增量表示向量每次增加的元素数目。
Vector(Collection c)         # 创建一个包含集合 c 元素的向量

跟c++的Vector用法差不多。

栈(Stack)

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

stack除了拥有Vetor父类的方法,也有自己的方法,比如常用的push()入栈和pop()出栈

字典(Dictionary)

Dictionary 类是一个抽象类,用来存储键/值对,作用和Map类相似。Dictionary类已经过时了,实际开发中用Map

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

哈希表(Hashtable)

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

Hashtable定义了四个构造方法:

Hashtable()                          # 默认方法
Hashtable(int size)                  # 创建指定大小的哈希表
Hashtable(int size,float fillRatio)  # 创建了一个指定大小的哈希表,并且通过fillRatio指定填充比例
Hashtable(Map m)                     # 创建了一个以M中元素为初始化元素的哈希表,哈希表的容量被设置为M的两倍。
Java基础八:数据结构(传统遗留的)

属性(Properties)

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

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

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

Properties defaults;
Properties()                         # 没有默认值
Properties(Properties propDefault)   # 使用propDefault 作为默认值。两种情况下,属性列表都为空
import java.util.*;
 
public class PropDemo {
 
   public static void main(String args[]) {
      Properties capitals = new Properties();
      Set states;
      String str;
      
      capitals.put("Illinois", "Springfield");
      capitals.put("Missouri", "Jefferson City");
      capitals.put("Washington", "Olympia");
      capitals.put("California", "Sacramento");
      capitals.put("Indiana", "Indianapolis");
 
      // Show all states and capitals in hashtable.
      states = capitals.keySet(); // get set-view of keys
      Iterator itr = states.iterator();
      while(itr.hasNext()) {
         str = (String) itr.next();
         System.out.println("The capital of " +
            str + " is " + capitals.getProperty(str) + ".");
      }
      System.out.println();
 
      // look for state not in list -- specify default
      str = capitals.getProperty("Florida", "Not Found");
      System.out.println("The capital of Florida is "
          + str + ".");
   }
}

以上实例编译运行结果如下:

Java基础八:数据结构(传统遗留的)

原创文章,作者:三酷猫,如若转载,请注明出处:https://www.sankumao.com/3995.html

(0)
上一篇 2022年10月17日 下午10:30
下一篇 2022年10月18日 下午2:00

相关推荐

  • Java MySQL 连接

    一、配置环境 1.下载mysql.jar包 Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connecto…

    2022年10月18日
  • eclipse创建maven项目教程

    Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理,是一个自动化构建工具。在最新的 Eclipse 中自带了 Maven,我们打开,Windows->P…

    2022年10月19日
  • httpclient教程二:详细执行原理详解

    HttpCLient最关键的方法是执行HTTP请求的方法execute。只要把HTTP请求传入,就可以得到HTTP响应 用HttpClient请求一个Http请求的步骤为: 创建一…

    2022年10月22日
  • Java+Selenium教程二:定位元素、元素信息获取、元素操作

    一、元素定位 查找元素的方式跟Python的selenium一致。 二、元素信息获取 使用x.get来联想出,哈哈 三、元素判断 x.is 四、元素操作 clear(); 如果该元…

    2022年10月21日
  • TestNG框架教程二:断言、前后置方法、分组测试、分Suite测试,@Test()属性

    一、TestNG断言 TestNG的断言种类很多,包括相等/不相等,true/false、为null/不为null、相同/不相同等。 二、前后置方法 注解 描述 @BeforeSu…

    2022年10月19日
  • httpclient教程一:环境搭建

    一、环境准备 将使用eclipse和maven完成本次接口请求实现,以下内容,将默认读者已完成环境准备,包括但不限于JDK、maven、IDEA,并熟练掌握他们的使用方法,如若有不…

    2022年10月22日
  • Java基础三:修饰符

    修饰符用来定义类、方法或者变量,通常放在语句的最前端。我们通过下面的例子来说明: 访问修饰符 default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:…

    2022年10月15日
  • TestNG框架教程一:新手入门

    一、安装JDK和eclipse编辑器 JDK安装,本站教程地址:https://www.sankumao.com/2426.html eclipse安装,下载地址:https://…

    2022年10月18日
  • Java基础九:集合框架

    早在 Java 2 中之前,Java 就提供了特设类。比如:Dictionary, Vector, Stack, 和 Properties 这些类用来存储和操作对象组。虽然这些类都…

    2022年10月18日
  • Java 开发环境配置

    window系统安装java 出现以下信息,说明环境变量配置成功: 流行JAVA开发工具 正所谓工欲善其事必先利其器,我们在开发java语言过程中同样需要一款不错的开发工具,目前市…

    2022年10月15日