मुझे आश्चर्य है कि क्या एक ArrayList में अंतिम से पहले तत्व को फिर से शुरू करना संभव है, यदि ऐसा है तो कैसे? कारण, क्योंकि मैं पिछले तत्व सूची में जोड़ा हटाने की जरूरत हैआखिरी से पहले एक ArrayList कैसे पुनरावृत्त करने के लिए?
उत्तर
आप अपने ArrayList
से हटाया जा रहा आइटम के प्रयोजन के लिए एक ListIterator<T>
का उपयोग कर बंद बेहतर होगा यदि आप हमेशा एक सूचकांक का उपयोग कर, इस
List<String> myList = new ArrayList<String>();
... add code to populate the list with some data...
for (int i = myList.size() - 1 ; i >= 0 ; i--) {
if (myList.get(i).equals("delete me")) {
myList.remove(i);
}
}
की तरह अपने ArrayList
पुनरावृति सकते हैं:
ListIterator<String> listIter = myList.listIterator();
while (listIter.hasNext()) {
if (listIter.next().equals("delete me")) {
listIter.remove();
}
}
सूची इटरेटर्स का उपयोग आपकी सूची को पीछे की ओर फिर से चलाने के लिए भी किया जा सकता है - इस तरह:
ListIterator<String> listIter = myList.listIterator(myList.size());
while (listIter.hasPrevious()) {
String prev = listIter.previous();
// Do something with prev here
}
इटरेटर की प्रारंभिक अनुक्रमणिका अंतिम तत्व + 1 के सूचकांक के बराबर होनी चाहिए। docs के रूप में कहें: "previous
पर प्रारंभिक कॉल तत्व को निर्दिष्ट सूचकांक के साथ वापस कर देगा।"
लेकिन क्या यह विकल्प पहले से आखिरी तक नहीं जाता है? मुझे तत्वों को सबसे अच्छे तरीके से सबसे पहले संभवतः हटाने की आवश्यकता है, त्रुटियों से कम प्रवण –
@ रिकार्डोचेन्ज़ टिप्पणी इस प्रश्न पर 10 मिनट पहले पोस्ट किया गया था जिसमें 1 तत्व है जो अंतिम तत्व को हटा देता है। यदि यह पर्याप्त नहीं है, तो शायद आपको अपनी आवश्यकता को तेज करने की आवश्यकता है – Cruncher
अंतिम कोड सूची के अंदर "-1" के बिना मेरे लिए काम करता है Iterator() विधि: "myList.listIterator (myList.size());" "-1" के साथ अंतराल अंतिम आइटम से अनदेखा कर रहा था, जो अंतिम से शुरू हो रहा था। – mizerablebr
तुम सिर्फ एक सरणी सूची के अंतिम तत्व को दूर करने की जरूरत है, तो आप सिर्फ कर सकता है:
arrayList.remove(arrayList.size()-1);
यदि आप को दूर करना चाहता था सामने से पीछे से सभी तत्वों, आप पाश के लिए इसका उपयोग कर सकते हैं: सरणी सूचियाँ पर
for(int i = arraList.size()-1; i >= 0; i--)
{
arrayList.remove(i);
}
अधिक जानकारी के लिए, आप यहां जा सकते हैं: http://www.tutorialspoint.com/java/java_arraylist_class.htm
हॉप ई यह मदद करता है।
यहाँ एक तरह से यह करने के लिए है (अपने कारण है कि एक अलग सवाल है):
import java.util.*;
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
ListIterator<String> iter = list.listIterator(list.size());
while (iter.hasPrevious()) {
String s = iter.previous();
System.out.println(s);
}
ArrayList aList = new ArrayList();
aList.add(1);
aList.add(2);
aList.add(3);
Collections.reverse(aList);
Iterator iter = aList.iterator();
while(iter.hasNext()){
iter.next();
iter.remove();//remove an element
break;//break from the loop or something else
}
जो अंत से शुरुआत तक पुनरावृत्त नहीं होता है। यह संग्रह को उलट देता है, फिर शुरुआत से फिर से शुरू होता है। यह न केवल विनाशकारी है, बल्कि यह भी अक्षम है। –
List<String> names = ....
int count= names.getSize();
Iterator<String> i = names.iterator();
while (i.hasNext()) {
String s = i.next(); // must be called before you can call i.remove()
// Do something
if (count==1)
i.remove();
count--;
}
- 1. एक दो आयाम ArrayList सॉर्ट करने के लिए कैसे
- 2. पायथन: एक सूची के माध्यम से पुनरावृत्त
- 3. mysql तालिका से पहले और आखिरी रिकॉर्ड को कैसे ढूंढें
- 4. वस्तुओं के ArrayList के ऑब्जेक्ट्स के एक ArrayList के माध्यम से कैसे पुनरावृत्ति?
- 5. एक कथन के साथ एक सूची के माध्यम से पुनरावृत्त
- 6. जावास्क्रिप्ट सम्मिलित करने से पहले() एक टेक्स्ट नोड से पहले सम्मिलित करने के लिए?
- 7. एक ArrayList
- 8. लूप के लिए और सूचियों के माध्यम से पुनरावृत्त
- 9. एक ArrayList
- 10. एक ArrayList
- 11. सूची के लिए एक पुनरावृत्त के सभी तत्व जोड़ें
- 12. लुआ में टेबल के माध्यम से कैसे पुनरावृत्त करें?
- 13. mysql, स्तंभ नामों के माध्यम से पुनरावृत्त
- 14. कैसे प्राप्त करने के लिए पहले से बने * डिबग * Windows
- 15. एक ArrayList
- 16. सरणी से ArrayList (ArrayList <Integer>) बनाने के लिए कैसे (int []) जावा
- 17. लिंक्ड हैशैप के माध्यम से सूचियों के साथ पुनरावृत्त कैसे करें
- 18. ArrayList से वेक्टर
- 19. कैसे वस्तुओं की ArrayList के माध्यम से पुनरावृति करने के लिए?
- 20. वीबीस्क्रिप्ट उपफोल्डर्स के सेट स्तर के माध्यम से पुनरावृत्त करने के लिए
- 21. कोडिंग शैली ... त्रुटि स्थिति पहले या आखिरी?
- 22. मैं कैसे कोषगत एक ArrayList क्रमित करूं?
- 23. ArrayList: जावा से सी #
- 24. साइथन में सी ++ सेट के माध्यम से कैसे पुनरावृत्त करें?
- 25. जावा के ArrayList करने के लिए उद्देश्य सी बराबर
- 26. अक्षरों के एक ArrayList से एक चरित्र को हटाने
- 27. गिट पुश: आखिरी एक
- 28. प्रदर्शन: HashMap.values से एक ArrayList बनाना()
- 29. कैसे ठीक से एक गहराई में एक पेड़ की शाखाओं लेबल करने के लिए पहले खोज
- 30. आइटम हटाने के लिए एक सूची के माध्यम से पुनरावृत्त, कुछ आइटम
क्यों नहीं तुम सिर्फ 'list.remove (list.size करना() - 1) '? –
सूची के एपीआई दस्तावेज को देखने के बारे में कैसे। डॉक्टर में "इटरेटर" की तलाश में मदद करनी चाहिए। –
मेला लेकिन कारण मैं पूछता हूं क्योंकि मुझे फोरैच का उपयोग करने में समस्याएं आ रही हैं और मेरे कोड को बदलने के लिए बदल रहा है और अगला इटरेटर कॉम्बो है, इसलिए मैं अपना कोड कुछ और मजबूत में बदलना चाहता था, अगर यह समझ में आता है –