मैं पिछले आइटम से पहले आइटम से LinkedHashSet
की वस्तुओं के माध्यम से कैसे पुन: प्रयास कर सकता हूं?जावा लिंक्ड हैशसेट पीछे की ओर इशारा
उत्तर
आप संग्रह का उपयोग जारी रखना चाहते हैं, तो आप निम्न का उपयोग कर सकते:
तो आप बस कर सकते हैं आप के बजाय एक सरणी का उपयोग कर के साथ ठीक कर रहे हैं
LinkedHashSet<T> set = ...
LinkedList<T> list = new LinkedList<>(set);
Iterator<T> itr = list.descendingIterator();
while(itr.hasNext()) {
T item = itr.next();
// do something
}
, आप hvgotcodes' answer पर एक नज़र डालें।
LinkedHashSet<T> set = ...
List<T> list = new ArrayList<>(set);
Collections.reverse(list);
for(T item : list){
...
}
एर, यह मानते हुए आप LinkedHashSet मतलब ...
मैं toArray का प्रयोग करेंगे और सिर्फ पाश के लिए एक रिवर्स का उपयोग करें।
ऐसा करने का एक बेहतर तरीका हो सकता है, लेकिन यह काम करना चाहिए। toArray
की गारंटी देता है किसी भी क्रम संरक्षित है
इस सेट क्या उसके तत्वों के आदेश अपने इटरेटर द्वारा दिया जाता है के बारे में कोई गारंटी नहीं देता है, तो इस विधि उसी क्रम में तत्वों लौट जाना चाहिए।
तरह
Set<MyType> mySet = new LinkedHashSet();
...
MyType[] asArray = mySet.toArray();
for (int i = asArray.length - 1; i>=0; i--){
..
}
यह काम करता है लेकिन काफी अक्षम है क्योंकि यह सेट की प्रतिलिपि बनाता है ... – fig
जावाडोक से: "यह लिंक्ड सूची यात्रा आदेश है, जो जिस क्रम में तत्वों सेट (प्रविष्टि-आदेश) में डाला गया है परिभाषित करता है।"
LinkedHashSet<Integer> numbers = new LinkedHashSet<Integer>();
numbers.add(1);
numbers.add(2);
numbers.add(33);
numbers.add(44);
numbers.add(108);
for (Integer i : numbers) {
System.out.println(i);
}
"अंतिम से पहले तक।" – hvgotcodes
यह एक और तरीका है।
ListIterator<T> l = new ArrayList<T>(yourLinkedHashList).listIterator();
// ListIterator can iterate in reverse
while(l.hasPrevious()) {
T obj = l.previous();
}
तुम सच में LinkedHashSet मतलब हैं, तो आप एक ArrayList में तत्वों रखा और फिर ArrayList के ListIterator इस्तेमाल कर सकते हैं:
- 1. डिबगिंग पीछे की ओर
- 2. पीछे की ओर दबाकर "।" गणित
- 3. ऑडियो पीछे की ओर बजाना
- 4. आधार वर्ग की ओर इशारा के माध्यम से व्युत्पन्न वर्ग की वस्तुओं की ओर इशारा के साथ जोड़ तोड़ वस्तुओं
- 5. सी # में लिंक्ड हैशसेट (जावा) के बराबर क्या है?
- 6. जावा में लिंक्ड सूचियों की लिंक्ड सूची
- 7. जावा सर्वलेट एपीआई पीछे की ओर संगत हैं?
- 8. पीछे की ओर एक अकेले लिंक्ड सूची प्रिंट, लगातार अंतरिक्ष और रैखिक समय
- 9. यह कैसे करें .. पीछे की ओर?
- 10. `atan2`" पीछे की ओर पैरामीटर क्यों हैं?
- 11. जावा हैशसेट
- 12. सी ++ टेम्पलेट की ओर इशारा का उपयोग वस्तुओं
- 13. जावा में हैशसेट टकराव
- 14. हैशसेट जावा सदस्य
- 15. हैशसेट/हैश मैप जावा
- 16. Django: कैसे ForeignKey ('स्वयं') को पीछे की ओर
- 17. Emacs खोल में पीछे की ओर कैसे खोजें?
- 18. एचटीएसीएएस कोड और + बल पीछे की ओर स्लैश जोड़ें?
- 19. लिनक्स पर पीछे की ओर चलने से समय कैसे रोकें?
- 20. Select_related() पीछे की ओर संबंध - ऑटो मॉडल आबादी
- 21. क्या CAKEFrameAnimation में पीछे की ओर पथ बनाना संभव है?
- 22. जावा लिंक्ड लिस्ट - विधि
- 23. जावा के हैशसेट PHP में
- 24. पूर्व की ओर उत्तर की ओर देशांतर
- 25. जावा में लिंक्ड हैशैप हटाना
- 26. हैशसेट
- 27. पिछली लिंक्ड सूची को पीछे कैसे पढ़ा जाए?
- 28. स्थानीय पहुंच की ओर इशारा करते हुए यूएनसी पथ स्थानीय पहुंच
- 29. Typeinfo :: name() की ओर इशारा किया गया स्मृति का जीवनकाल क्या है?
- 30. ओरेकल में एक रिकॉर्ड की ओर इशारा करते हुए विदेशी-कुंजी निर्भरताओं को कैसे ढूंढें?
जावा संग्रह फ्रेमवर्क में क्यों शामिल नहीं है। लिंक्ड हैशसेट एफआईएफओ ऑर्डर को बनाए रखता है ताकि ऑर्डर को एलआईएफओ में बदलने के लिए एक यूटिलिटी होनी चाहिए जो कि अलग-अलग लगता है जब एक ही समय में सम्मिलन आदेश को बनाए रखना आवश्यक है, हमें रिवर्स ऑर्डर में पुनरावृत्ति करने की आवश्यकता हो सकती है। मेरी परियोजना में कुछ समय पहले मुझे इसकी आवश्यकता थी। दुर्भाग्यवश, मुझे Collections.reverse() उपयोगिता का लाभ उठाने के लिए मध्यस्थ के रूप में सूची का उपयोग करना होगा। यह गंदा है यह नहीं है! – Bhavesh