Java數據結構(下)

  1. 哈希表(Hashtable
  2. 字典(Dictionary
  3. 屬性(Properties

1.Hashtable(哈希表)

        哈希表提供了一種在用戶定義鍵結構的基礎上來組織數據的手段。在地址列表的哈希表,選擇鍵能夠根據郵編存儲和排序數據,其中哈希表鍵的具體含義徹底取決於哈希表的使用情景和它包含的數據。java

           位於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類是抽象類,因此它只提供了鍵映射到值的數據結構,而沒有提供特定的實現spa

3.Properties(屬性)

Properties 繼承於 Hashtable.Properties 類,表示了一個持久的屬性集.屬性列表中每一個鍵及其對應值都是一個字符串。Properties 類被許多Java類使用。例如,在獲取環境變量時它就做爲System.getProperties()方法的返回值。code

  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);
    }
}
相關文章
相關標籤/搜索