Java ArrayList and HashMap/Hashtable |
Java ArrayList and HashMap/Hashtable จากบทความก่อนหน้านี้เราได้รู้จักกับ ArrayList และ HashMap/Hashtable ซึ่งปกติแล้วทั้ง 2 Class นี้สามารถใช้งานร่วมกันได้ เพราะ ArrayList จะมีข้อมูลได้หลาน Index (เหมือนกับ Array) แต่ HashMap/Hashtable จะมีข้อมูลเป็นชุดของข้อมูลได้เพียง 1 ชุด และในกรณีที่ต้องการเก็บข้อมูลหลาย ๆ ชุด เราก็สามารถใช้ ArrayList เพื่อจัดเก็บข้อมูลของ HashMap/Hashtable ในแต่ล่ะ Index ได้
Syntax
ArrayList<HashMap<String, String>> myArrList = new ArrayList<HashMap<String, String>>();
ArrayList<HashTable<String, String>> myArrList = new ArrayList<HashTable<String, String>>();
Example 1 ตัวอย่างการใช้ ArrayList กับ HashMap การสร้างชุดข้อมูล และแสดงชุดข้อมูล
MyClass.java
package com.java.myapp;
import java.util.ArrayList;
import java.util.HashMap;
public class MyClass {
public static void main(String[] args) {
ArrayList<HashMap<String, String>> myArrList = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map;
/*** Rows 1 ***/
map = new HashMap<String, String>();
map.put("MemberID", "1");
map.put("Name", "Weerachai");
map.put("Tel", "0819876107");
myArrList.add(map);
/*** Rows 2 ***/
map = new HashMap<String, String>();
map.put("MemberID", "2");
map.put("Name", "Win");
map.put("Tel", "021978032");
myArrList.add(map);
/*** Rows 3 ***/
map = new HashMap<String, String>();
map.put("MemberID", "3");
map.put("Name", "Eak");
map.put("Tel", "0123456789");
myArrList.add(map);
for (int i = 0; i < myArrList.size(); i++) {
String sMemberID = myArrList.get(i).get("MemberID").toString();
String sName = myArrList.get(i).get("Name").toString();
String sTel = myArrList.get(i).get("Tel").toString();
System.out.println("MemberID = " + sMemberID);
System.out.println("Name = " + sName);
System.out.println("Tel = " + sTel);
System.out.println("=========================");
}
}
}
Output
MemberID = 1
Name = Weerachai
Tel = 0819876107
=========================
MemberID = 2
Name = Win
Tel = 021978032
=========================
MemberID = 3
Name = Eak
Tel = 0123456789
=========================
Example 2 ตัวอย่างการใช้ ArrayList กับ Hashtable การสร้างชุดข้อมูล และแสดงชุดข้อมูล
MyClass.java
package com.java.myapp;
import java.util.ArrayList;
import java.util.Hashtable;
public class MyClass {
public static void main(String[] args) {
ArrayList<Hashtable<String, String>> myArrList = new ArrayList<Hashtable<String, String>>();
Hashtable<String, String> table;
/*** Rows 1 ***/
table = new Hashtable<String, String>();
table.put("MemberID", "1");
table.put("Name", "Weerachai");
table.put("Tel", "0819876107");
myArrList.add(table);
/*** Rows 2 ***/
table = new Hashtable<String, String>();
table.put("MemberID", "2");
table.put("Name", "Win");
table.put("Tel", "021978032");
myArrList.add(table);
/*** Rows 3 ***/
table = new Hashtable<String, String>();
table.put("MemberID", "3");
table.put("Name", "Eak");
table.put("Tel", "0123456789");
myArrList.add(table);
for (int i = 0; i < myArrList.size(); i++) {
String sMemberID = myArrList.get(i).get("MemberID").toString();
String sName = myArrList.get(i).get("Name").toString();
String sTel = myArrList.get(i).get("Tel").toString();
System.out.println("MemberID = " + sMemberID);
System.out.println("Name = " + sName);
System.out.println("Tel = " + sTel);
System.out.println("=========================");
}
}
}
Output
MemberID = 1
Name = Weerachai
Tel = 0819876107
=========================
MemberID = 2
Name = Win
Tel = 021978032
=========================
MemberID = 3
Name = Eak
Tel = 0123456789
=========================
|