แสดงรายการและตั้งค่าอินเทอร์เฟซทั้งสองเป็นของกรอบงานการรวบรวม อินเทอร์เฟซทั้งสองขยายอินเทอร์เฟซคอลเลกชัน ทั้งคู่ใช้เพื่อเก็บคอลเลกชันของวัตถุเป็นหน่วยเดียว
ก่อน jdk1.2 เราเคยใช้ Array, Vectors และ Hashtable สำหรับการจัดกลุ่มอ็อบเจ็กต์เป็นหน่วยเดียว
| ซีเนียร์ เลขที่ | คีย์ | รายการ | ตั้งค่า |
|---|---|---|---|
| 1 | การเข้าถึงตำแหน่ง | รายการให้การเข้าถึงตำแหน่งขององค์ประกอบในคอลเลกชัน | Set ไม่ให้เข้าถึงตำแหน่งองค์ประกอบในคอลเลกชัน |
| 2 | การนำไปใช้ | การใช้งาน List คือ ArrayList,LinkedList,Vector ,Stack | การใช้งานชุดอินเทอร์เฟซคือ HashSet และ LinkedHashSet |
| 3 | ซ้ำ | เราสามารถจัดเก็บองค์ประกอบที่ซ้ำกันในรายการ | เราไม่สามารถจัดเก็บองค์ประกอบที่ซ้ำกันใน Set |
| 4 | การสั่งซื้อ | รายการรักษาลำดับการแทรกขององค์ประกอบในคอลเลกชัน | ชุดไม่รักษาคำสั่งใดๆ |
| 5 | องค์ประกอบ Null | รายการสามารถเก็บองค์ประกอบ null ได้หลายรายการ | Set สามารถเก็บองค์ประกอบ null ได้เพียงตัวเดียว |
ตัวอย่างรายการ
import java.util.List;
import java.util.ArrayList;
import java.util.LinkedList;
public class ListExample {
public static void main(String[] args) {
List<String> al = new ArrayList<String>();
al.add("BMW");
al.add("Audi");
al.add("BMW");
System.out.println("List Elements: ");
System.out.print(al);
}
} ผลลัพธ์
List Elements: [BMW, Audi, BMW]
ตัวอย่างชุด
import java.util.Set;
import java.util.HashSet;
import java.util.TreeSet;
public class SetExample {
public static void main(String args[]) {
int count[] = {2, 4, 3, 5};
Set<Integer> hset = new HashSet<Integer>();
try{
for(int i = 0; i<4; i++){
hset.add(count[i]);
}
System.out.println(hset);
}
catch(Exception e){
e.printStackTrace();
}
}
} ผลลัพธ์
[2, 4, 3, 5]