แสดงรายการและตั้งค่าอินเทอร์เฟซทั้งสองเป็นของกรอบงานการรวบรวม อินเทอร์เฟซทั้งสองขยายอินเทอร์เฟซคอลเลกชัน ทั้งคู่ใช้เพื่อเก็บคอลเลกชันของวัตถุเป็นหน่วยเดียว
ก่อน 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]