Java数据结构(下)

原创
2019/11/12 22:09
阅读数 83
  1. 哈希表(Hashtable
  2. 字典(Dictionary
  3. 属性(Properties

1.Hashtable(哈希表)

        哈希表提供了一种在用户定义键结构的基础上来组织数据的手段。在地址列表的哈希表,选择键可以根据邮编存储和排序数据,其中哈希表键的具体含义完全取决于哈希表的使用情景和它包含的数据。

           位于java.util包中,是Dictionary具体的实现,Hashtable实现了Map接口,因此,Hashtable集成到了集合框架中。它和HashMap类很相似,但是它支持同步。Hashtable在哈希表中存储键/值对。当使用一个哈希表,要指定用作键的对象,以及要链接到该键的值。

构造方法:

  1. 默认构造方法
    Hashtable()

     

  2. 创建指定大小的哈希表
    Hashtable(int size)
  3. 创建了指定大小的哈希表,并且通过fillRatio指定填充比例
    Hashtable(int size,float fillRatio)
  4. 创建了以M中元素为初始化元素的哈希表
    Hashtable(Map m)

使用:

package com.day6;

import java.util.Date;
import java.util.Enumeration;
import java.util.Hashtable;

/**
 * @author SFJ
 * @date 2019/11/12
 * @time 21:25
 **/
public class Test1 {
    public static void main(String[] args) {
        Hashtable hashtable = new Hashtable();//创建一个哈希表
        Enumeration names;
        String string;
        double b;
        hashtable.put("sang",new Double(666.66));
        hashtable.put("feng",new Double(999.99));
        hashtable.put("jiao",new Double(-111.11));
        names = hashtable.keys();
        while (names.hasMoreElements())
        {
            string =(String)names.nextElement();
            System.out.println(string+":"+hashtable.get(string));
        }
        System.out.println();
        b = ((Double)hashtable.get("sang")).doubleValue();
        hashtable.put("sang",new Double(b+100));
        System.out.println("sang's new hashtable value:"+hashtable.get("sang"));
    }
}

2.Dictionary(字典

字典是一个抽象类,定义了键映射到值的数据结构。使用Dictionary可以通过特定的键而不是整数索引来访问数据的时候。由于Dictionary类是抽象类,所以它只提供了键映射到值的数据结构,而没有提供特定的实现

3.Properties(属性)

Properties 继承于 Hashtable.Properties 类,表示了一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。Properties 类被许多Java类使用。例如,在获取环境变量时它就作为System.getProperties()方法的返回值。

  1. Properties 继承于 Hashtable.表示一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。
  2. Properties 类被许多Java类使用。例如,在获取环境变量时它就作为System.getProperties()方法的返回值。
  3. Properties 定义如下实例变量.这个变量持有一个Properties对象相关的默认属性列表。

构造方法:

  1. 无参构造,默认值为10
    Properties()
  2. 使用propDefault作为默认值。两种情况,属性列表都为空
Properties(Properties propDefault)

使用:

package com.day6;

import java.util.Iterator;
import java.util.Properties;
import java.util.Set;

/**
 * @author SFJ
 * @date 2019/11/12
 * @time 22:00
 **/
public class Test2 {
    public static void main(String[] args) {
        Properties properties = new Properties();
        Set set;
        String string;
        properties.put("sang","s");
        properties.put("feng","f");
        properties.put("jiao","j");
        set = properties.keySet();
        Iterator iterator = set.iterator();
        while (iterator.hasNext())
        {
            string = (String)iterator.next();
            System.out.println("The first letter of "+string+" is "+properties.getProperty(string));
        }
        System.out.println();
        string = properties.getProperty("liaocheng university","not found");
        System.out.println("The first letter of liaocheng university is"+string);
    }
}

 

 

展开阅读全文
加载中
点击加入讨论🔥(1) 发布并加入讨论🔥
打赏
1 评论
0 收藏
1
分享
返回顶部
顶部