- वास्तव में किस प्रकार EnumSet वस्तुओं instantiated और उपयोग किया जाता है?
EnumSet एक "अमूर्त वर्ग" है और HashSet से पसंद किया जाता है आप "कुंजी" है कि यह पहले से जाना जाता है की एक संख्या है जब। उदाहरण के लिए जब आपके पास कॉन्फ़िगरेशन कुंजी होती है।
प्रदर्शनकी तुलना में बेहतर HashSet "क्योंकि रहे हैं ... के बाद से Enum स्थिरांक अद्वितीय हैं और पहले से परिभाषित किया गया है लंबाई, आप क्रम में एक नया enum निरंतर परिभाषित नहीं कर सकते हैं, यह करने के लिए जावा एपीआई डिजाइनर की अनुमति देता है अत्यधिक अनुकूलित EnumSet ... "(और अधिक पढ़ें: http://javarevisited.blogspot.com/2014/03/how-to-use-enumset-in-java-with-example.html#ixzz3jNcyB8ve)
आप, कारखाने विधि का एक बहुत कुछ के साथ का दृष्टांत कर सकते हैं, उदाहरण के लिए EnumSet.of (...)
- मैं EnumSet ऑब्जेक्ट्स के लिए add() विधि का उपयोग क्यों कर सकता हूं?
के बाद आप एक "EnumSet" बनाया है वस्तु आप रन-टाइम में जोड़ सकते हैं के साथ एक और तत्व विधि "जोड़ें"। यदि आपके पास उदाहरण के लिए कॉन्फ़िगरेशन कुंजियों की एक सूची है, तो आप "चयनित" कुंजी EnumSet द्वारा प्रस्तुत कर सकते हैं और उन्हें रनटाइम पर जोड़ सकते हैं।
package sample.test;
import java.util.EnumSet;
public class Foo {
public enum SimpleConfigEnum { KEY1, KEY2, KEY3};
/**
* Example of EnumSet with add
*/
public static void main(String[] args) {
//Create an enumSet with two elements: KEY1,KEY2
EnumSet<SimpleConfigEnum> eSet = EnumSet.of(SimpleConfigEnum.KEY1, SimpleConfigEnum.KEY2);
System.out.println(eSet);
//... add another element --> KEY3
eSet.add(SimpleConfigEnum.KEY3);
System.out.println(eSet);
}
}
उत्पादन होता है:
[KEY1, KEY2]
[KEY1, KEY2, KEY3]
आप को शामिल करना चाहिए कि EnumSet इंटरफ़ेस लागू करता AbstractSet लागू करता है। यह बीमा करता है कि(), iterator(), निकालें(), ... EnumSet के अनुबंध में है। – Taemyr