List और Set दोनों इंटरफेस कलेक्शन फ्रेमवर्क से संबंधित हैं। दोनों इंटरफेस Collection इंटरफेस को एक्सटेंड करते हैं। वे दोनों ऑब्जेक्ट के कलेक्शन को एक यूनिट के रूप में स्टोर करने के लिए उपयोग किए जाते हैं।
JDK 1.2 से पहले, हम ऑब्जेक्ट को एक यूनिट के रूप में ग्रुप करने के लिए Arrays, Vectors, और Hashtable का उपयोग करते थे।
| क्र. सं. | मुख्य बिंदु | List | Set |
|---|---|---|---|
| 1 | पोजिशनल एक्सेस | List कलेक्शन में एलिमेंट का पोजिशनल एक्सेस प्रदान करता है। | Set कलेक्शन में एलिमेंट का पोजिशनल एक्सेस प्रदान नहीं करता |
| 2 | इम्प्लीमेंटेशन | List के इम्प्लीमेंटेशन हैं ArrayList, LinkedList, Vector, Stack | Set इंटरफेस का इम्प्लीमेंटेशन HashSet और LinkedHashSet है |
| 3 | डुप्लीकेट | List में डुप्लीकेट एलिमेंट स्टोर कर सकते हैं। | Set में डुप्लीकेट एलिमेंट स्टोर नहीं कर सकते |
| 4 | क्रम | List कलेक्शन में एलिमेंट के इंसर्शन ऑर्डर को बनाए रखता है | Set कोई क्रम नहीं बनाए रखता |
| 5 | Null एलिमेंट | List मल्टीपल null एलिमेंट स्टोर कर सकता है | Set केवल एक null एलिमेंट स्टोर कर सकता है |
List का उदाहरण
import java.util.List;
import java.util.ArrayList;
import java.util.LinkedList;
public class ListExample {
public static void main(String[] args) {
List al = new ArrayList();
al.add("BMW");
al.add("Audi");
al.add("BMW");
System.out.println("List एलिमेंट: ");
System.out.print(al);
}
}
आउटपुट
List एलिमेंट: [BMW, Audi, BMW]
Set का उदाहरण
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 hset = new HashSet();
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]