Java Hashtable – (Java教學) – Hashtable 就是包含keys list 及 value list 的一個集合. 在集合中, 每一行的key也會Map在value上, 只需要加入Key就可取得值.
為何需要Hashtable?
有時候我們不需把一批資料作批次處理, 只需要把一個或一堆資料拿出來便可了, 這樣的話, 用ArrayList或Array會比較不便, 可能要加上Linq或for迴圈等, 程序碼會變長, 而也許會變慢. 這時, 這適合用Hashtable 了.
Hashtable 的主要用途
Hashtable 的主要用途就是用一個key來尋找值, 值可以是一個Array, 一個List或一個object instance. 以一個key來獲取一個, 或一堆值把資料的提取變得容易. 例如如果想要cache一個版面的初始值(session), 只需把page name 作key就可獲得. 這些都是不需要一批批地把資料處理而只需一個或一堆值的情況.
Hashtable的5種基本應用方法一覽表
Hashtable的5種基本應用方法 – Hashtable 初始化, Hashtable 加入值, Hashtable 更新值, Hashtable 刪除值, Hashtable foreach迴圈. Let’s Start!
方法 | 例子: |
加入Package | import java.util.*; |
初始化 | Hashtable<String, String> names = new Hashtable<String, String>(); |
加入值 | Hashtable<String, String> names = new Hashtable<String, String>(); names.put(“Tim”, “Clerk”); names.put(“John”, “Manager”); names.put(“Mary”, “Boss”); System.out.println(names); // {John=Manager, Mary=Boss, Tim=Clerk} |
獲取值 | Hashtable<String, String> names = new Hashtable<String, String>(); names.put(“Tim”, “Clerk”); names.put(“John”, “Manager”); names.put(“Mary”, “Boss”); System.out.println(names.get(“Tim”)); // Clerk |
有沒有存在KEY 加入或更新值前用 | Hashtable<String, String> names = new Hashtable<String, String>(); names.put(“Tim”, “Clerk”); names.put(“John”, “Manager”); names.put(“Mary”, “Boss”); Boolean isContainsTim = names.containsKey(“Tim”); System.out.println(isContainsTim); //Result: True |
更新值 | Hashtable<String, String> names = new Hashtable<String, String>(); names.put(“Tim”, “Clerk”); names.put(“John”, “Manager”); names.put(“Mary”, “Boss”); if (names.containsKey(“Tim”)){ names.put(“Tim”, “Cooker”); } System.out.println(names.get(“Tim”)); // Cooker |
刪除值 | Hashtable<String, String> names = new Hashtable<String, String>(); names.put(“Tim”, “Clerk”); names.put(“John”, “Manager”); names.put(“Mary”, “Boss”); names.remove(“Tim”); System.out.println(names.size()); // 2 |
拿Keys List | Hashtable<String, String> names = new Hashtable<String, String>(); names.put(“Tim”, “Clerk”); names.put(“John”, “Manager”); names.put(“Mary”, “Boss”); System.out.println(names .keySet() );// [John, Mary, Tim] |
拿Values List | Hashtable<String, String> names = new Hashtable<String, String>(); names.put(“Tim”, “Clerk”); names.put(“John”, “Manager”); names.put(“Mary”, “Boss”); System.out.println(names .values() );// [Manager, Boss, Clerk] |
foreach迴圈 | Hashtable<String, String> names = new Hashtable<String, String>(); names.put(“Tim”, “Clerk”); names.put(“John”, “Manager”); names.put(“Mary”, “Boss”); for ( Map.Entry<String, String> entry : names.entrySet() ) { System.out.println(entry.getKey() + ” – ” + entry.getValue()); } //Time – Clerk //John – Manager //Mary – Boss |
相關頁面:
Java 陣列 – 學會Array陣列5種基本應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈
Java ArrayList – 學會ArrayList 7種基本應用方法 – 初始化, 加入值, 獲取值, 更新值, 刪除值, 清除值, for迴圈
參考網頁: https://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html