ListIterator से लिस्ट संशोधित करना

Java में इनपुट/आउटपुट और स्ट्रीम्स

Alex Liu

Software Development Engineer

Iterator बनाम ListIterator

Iterator और ListIterator की तुलना

Java में इनपुट/आउटपुट और स्ट्रीम्स

नमूना ArrayList

import java.util.ArrayList;
public class SampleData {
    public static void main(String[] args) {
        ArrayList<String> names = new ArrayList<>();
        names.add("Alice");
        names.add("Bob");
        names.add("Charlie");
    }
}  
[Alice, Bob, Charlie]
Java में इनपुट/आउटपुट और स्ट्रीम्स

ListIterator से लिस्ट ट्रैवर्स करना

// Import ListIterator class
import java.util.ListIterator;

// नमूना लिस्ट `names` के लिए ListIterator ऑब्जेक्ट बनाएँ ListIterator<String> it = names.listIterator(); // लिस्ट को इटरेट कर लाइन-बाय-लाइन प्रिंट करने के लिए .hasNext() और `.next()` प्रयोग करें while (it.hasNext()) { System.out.println(it.next()); }
Alice 
Bob 
Charlie
Java में इनपुट/आउटपुट और स्ट्रीम्स

ListIterator के साथ पीछे जाएँ

  • लिस्ट में पीछे जाने के लिए .previous() उपयोग करें
// नमूना लिस्ट `names` के लिए ListIterator ऑब्जेक्ट बनाएँ
ListIterator<String> it = names.listIterator(names.size());
// .hasPrevious() से जाँचें कि क्या इटरेटर लिस्ट की शुरुआत पर पहुँचा है
while (it.hasPrevious()) {
    // उल्टे क्रम में एलिमेंट पाने के लिए .previous() प्रयोग करें
    System.out.println(it.previous());}
  • उल्टे क्रम में प्रिंट करें, आउटपुट:
Charlie
Bob
Alice
Java में इनपुट/आउटपुट और स्ट्रीम्स

इटरेशन के दौरान एलिमेंट संशोधित करना

  • .set() मेथड का उपयोग
// नमूना लिस्ट names के लिए ListIterator ऑब्जेक्ट बनाएँ
ListIterator<String> it = names.listIterator();

// लिस्ट इटरेट करें और .set() से एलिमेंट संशोधित करें while (it.hasNext()) { String name = it.next(); if ("Bob".equals(name)) it.set("Bobby"); }
  • अपडेटेड names लिस्ट:
[Alice, Bobby, Charlie]
Java में इनपुट/आउटपुट और स्ट्रीम्स

इटरेशन के दौरान एलिमेंट जोड़ना

  • एलिमेंट जोड़ने के लिए .add() उपयोग करें
ListIterator<String> it = names.listIterator();

// लिस्ट इटरेट करें और .add() से एलिमेंट जोड़ें while (it.hasNext()) { String name = it.next(); if ("Charlie".equals(name)) it.add("David"); }
  • अपडेटेड names लिस्ट:
    [Alice, Bobby, Charlie, David]
    
Java में इनपुट/आउटपुट और स्ट्रीम्स

सारांश

  • ListIterator, Iterator का विस्तार है
    • आगे और पीछे दोनों तरह ट्रैवर्सल सपोर्ट करता है
    • इटरेट करते समय एलिमेंट संशोधित करने देता है
  • प्रमुख मेथड्स रिकैप

    • .next()/.previous(): आगे/पीछे नेविगेट करें
    • .set(): वर्तमान एलिमेंट संशोधित करें
    • .add(): डायनैमिक रूप से एलिमेंट जोड़ें
    • .remove(): सुरक्षित रूप से एलिमेंट हटाएँ
    • केवल Lists पर काम करता है (ArrayList, LinkedList, आदि)
Java में इनपुट/आउटपुट और स्ट्रीम्स

अभ्यास करते हैं!

Java में इनपुट/आउटपुट और स्ट्रीम्स

Preparing Video For Download...