से गणना मेरे पास एक साधारण संग्रह प्रश्न है। मेरे पास Set<String>
ऑब्जेक्ट है। मैं उस सेट में तारों की गणना चाहता हूं। इसके बारे में जाने का सबसे साफ/सबसे अच्छा तरीका क्या है?जावा: सेट <String>
उत्तर
संपादित करें: अपनी खुद की लिखने की कोई आवश्यकता नहीं है (हालांकि मैं वंशावली के लिए नीचे कार्यान्वयन छोड़ दूंगा) - जेडीके में केविन बोरिलियन के जवाब को देखें।
तुम सच में एक गणन जरूरत हैं, इस्तेमाल कर सकते हैं कर सकते हैं:
Enumeration<String> x = new Vector(set).elements();
यह Iterable<E>
उपयोग करने के लिए करता है, तो बिल्कुल भी संभव बेहतर होगा हालांकि ...
एक बेहतर विकल्प है Iterator<E>
के आसपास एक छोटी रैपर कक्षा लिखने के लिए। इस तरह आप की जरूरत नहीं है एक प्रति लेने के लिए सिर्फ Enumeration<E>
के imlementation लगता है:
import java.util.*;
class IteratorEnumeration<E> implements Enumeration<E>
{
private final Iterator<E> iterator;
public IteratorEnumeration(Iterator<E> iterator)
{
this.iterator = iterator;
}
public E nextElement() {
return iterator.next();
}
public boolean hasMoreElements() {
return iterator.hasNext();
}
}
public class Test {
public static void main(String[] args) {
Set<String> set = new HashSet<String>();
Enumeration<String> x = new IteratorEnumeration<String>(set.iterator());
}
}
@Downvoter: टिप्पणी करने की देखभाल? –
मैंने अभी भी मतदान किया है। जेडीके के पास स्थिर उपयोग विधि होने पर आपके स्वयं के कार्यान्वयन को लिखने की आवश्यकता नहीं है जो कि केविन बोर्रिलियन द्वारा बताए गए अनुसार आपके लिए करता है। – Snekse
@ स्नेक्से: यदि पिछले डाउनवॉटर ने इतना कहा था, तो यह सहायक होता। मैं अब अपना जवाब हटा नहीं सकता क्योंकि यह स्वीकार किया गया है, लेकिन मैं केविन को इंगित कर सकता हूं ... –
मान लें कि आप एक के लिए लूप, किसी भी के लिए लागू के माध्यम से स्पष्ट तरीका यह करने के लिए है गणितीय अर्थ में शुमार मतलब वर्ग कि Iterable
लागू करता है:
Set<String> strs = ...
for (String s : strs) {
...
}
तुम सच में एक Enumeration
की आवश्यकता होती है आप iterator()
फोन करके Iterator
लौटे रैप करने के लिए एक एडाप्टर वर्ग को लागू कर सकते हैं। अपाचे संग्रह लाइब्रेरी में एक एडाप्टर क्लास है: IteratorEnumeration
।
या आप गूगल के अमरूद पुस्तकालय इस्तेमाल कर सकते हैं:
Set<String> mySet = ...
Enumeration<String> = Iterators.asEnumeration(mySet.iterator());
डाउनवॉटर ...टिप्पणी करने की देखभाल? – Adamski
java.util.Collections.enumeration(set)
जावाडोक
निर्दिष्ट संग्रह पर एक गणना देता है। यह विरासत एपीआई के साथ इंटरऑपरेबिलिटी प्रदान करता है जिसके लिए इनपुट के रूप में गणना की आवश्यकता होती है।
ठीक है, मुझे एहसास है कि मेरा जवाब terse है, लेकिन ऐसा इसलिए है क्योंकि यह सब कुछ वास्तव में कहा जाना चाहिए। :) यह विधि जेडीके में है और * * * पोस्टर क्या पूछ रहा है * करता है। यह मेरे लिए अजीब बात है कि इसे अंतिम स्थान पर रखा जाएगा। –
प्रभावी जावा आइटम 47: पुस्तकालयों को जानें और उपयोग करें – Ray
- 1. जावा सेट
- 2. जावा assertEquals सेट
- 3. सेट एडब्ल्यूएस जावा एसडीके
- 4. जावा में इंस्टेंस सेट?
- 5. @OneToMany सूची <> बनाम सेट <> अंतर
- 6. जावा
- 7. <br>? \ N? जावा
- 8. Multiplexing भविष्य <> जावा
- 9. जावा <-> सी ब्रिज
- 10. संपत्ति सेट करें Nullable <> प्रतिबिंब
- 11. टेक्स्ट व्यू सेट ग्रेविटी() जावा
- 12. सेट वैल्यू टू एनम - जावा
- 13. जावा लोकेल सेटिंग्स सेट करना
- 14. जावा जंजीर असमानता अगर (5 <i <10)
- 15. जावा शब्दकोश <स्ट्रिंग, सूची <Object>>
- 16. जावा संग्रह <Object> या संग्रह <?>
- 17. जावा: कुछ क्लास <T> में "टी" के लिए डिफ़ॉल्ट कैसे सेट करें?
- 18. जावा Iterable <E> इंटरफेस
- 19. जावा: <ENTER> पंजीकृत करें JTextPane
- 20. नई ArrayList <int>() जावा
- 21. जावा स्विच स्टेटमेंट <identifier> अंक
- 22. Convert स्ट्रिंग सूची <Object> [] जावा
- 23. जावा जेनेरिक्स कब्जा सूची <?>
- 24. का उपयोग जावा ArrayList <String>
- 25. >>>>,> |, ||, | <, <, <<
- 26. जावा में पृष्ठभूमि छवि कैसे सेट करें?
- 27. जावा में BufferedImage अल्फा मास्क सेट करें
- 28. जावा में सेट की समय जटिलता
- 29. जावा में कस्टमाइज़ मुद्रा कैसे सेट करें?
- 30. जावा स्विंग निपटान() बनाम सेट दृश्य (झूठा)
java.util.Enumeration के रूप में गणना? Java.util का उपयोग न करने का कोई कारण नहीं है। इसके बजाय अक्षम? –
हाँ..क्योंकि मैं एक ऐसी विधि को ओवरराइड कर रहा हूं जो विशेष रूप से गणना लौटाती है। –
Charlotte
मुझे लगता है कि आपको इसके बजाय सबसे अधिक वोट दिया जाना चाहिए। –