Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ความแตกต่างระหว่างรายการและการตั้งค่าใน Java


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

ก่อน 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]