Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

लिस्ट में एलिमेंट्स रिप्लेस करने के लिए Java प्रोग्राम


इस लेख में, हम समझेंगे कि लिस्ट में एलिमेंट्स को कैसे रिप्लेस करें। List इंटरफेस Collection को एक्सटेंड करता है और एलिमेंट्स के अनुक्रम को स्टोर करने वाले संग्रह के व्यवहार की घोषणा करता है।

Collection एक फ्रेमवर्क है जो ऑब्जेक्ट्स के समूह को स्टोर और मैनिपुलेट करने के लिए आर्किटेक्चर प्रदान करता है। Java Collections वे सभी ऑपरेशन्स प्राप्त कर सकते हैं जो आप डेटा पर करते हैं जैसे खोज, सॉर्टिंग, इंसर्शन, मैनिपुलेशन, और डिलीशन।

नीचे इसका प्रदर्शन है:

मान लीजिए हमारा इनपुट है:

इनपुट लिस्ट: [Java, Scala, Mysql, Redshift]

वांछित आउटपुट होगा:

लिस्ट के एक एलिमेंट को रिप्लेस करने के बाद: [Java, Scala, Python, Redshift]

एल्गोरिदम

चरण 1 - शुरू
चरण 2 - एक लिस्ट घोषित करें जिसका नाम input_list हो
चरण 3 - मान परिभाषित करें
चरण 4 - अपडेट किए जाने वाले इंडेक्स और जोड़ने वाली स्ट्रिंग को पैरामीटर के रूप में पास करके .set() फंक्शन का उपयोग करें
चरण 5 - परिणाम के रूप में लिस्ट प्रदर्शित करें
चरण 6 - रुकें

उदाहरण 1

यहाँ, हम सभी ऑपरेशन्स को 'main' फंक्शन के तहत बांधते हैं।

import java.util.*;

public class Demo {
    public static void main(String[] args) {
        System.out.println("आवश्यक पैकेज आयात किए गए हैं");
        try {
            ArrayList input_list = new ArrayList<>();
            input_list.add("Java");
            input_list.add("Scala");
            input_list.add("Mysql");
            input_list.add("Redshift");
            System.out.println("लिस्ट परिभाषित है: " + input_list);
            
            input_list.set(2, "Python");
            System.out.println("\nलिस्ट के एक एलिमेंट को रिप्लेस करने के बाद: " + input_list);
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

आउटपुट

आवश्यक पैकेज आयात किए गए हैं
लिस्ट परिभाषित है: [Java, Scala, Mysql, Redshift]
लिस्ट के एक एलिमेंट को रिप्लेस करने के बाद: [Java, Scala, Python, Redshift]

उदाहरण 2

यहाँ, हम ऑपरेशन्स को फंक्शन्स में एनकैप्सुलेट करते हैं जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग प्रदर्शित करते हैं।

import java.util.*;

public class Demo {
    public static void main(String[] args) {
        System.out.println("आवश्यक पैकेज आयात किए गए हैं");
        try {
            ArrayList input_list = new ArrayList<>();
            input_list.add("Java");
            input_list.add("Scala");
            input_list.add("Mysql");
            input_list.add("Redshift");
            System.out.println("लिस्ट परिभाषित है: " + input_list);
            
            input_list.set(2, "Python");
            System.out.println("\nलिस्ट के एक एलिमेंट को रिप्लेस करने के बाद: " + input_list);
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

आउटपुट

आवश्यक पैकेज आयात किए गए हैं
लिस्ट परिभाषित है: [Java, Scala, Mysql, Redshift]
लिस्ट के एक एलिमेंट को रिप्लेस करने के बाद: [Java, Scala, Python, Redshift]

एलिमेंट रिप्लेस करने के तरीके

तरीकासिंटैक्सविवरणरिटर्न
set()list.set(index, element)निर्दिष्ट इंडेक्स पर एलिमेंट रिप्लेस करता हैपुराना एलिमेंट
remove + addlist.remove(index); list.add(index, element)हटाता और जोड़ता है, कम कुशलहटाया गया एलिमेंट
Stream.map()list.stream().map(...).collect(toList())नई लिस्ट बनाता है, फंक्शनलनई लिस्ट
replaceAll (Java 8+)list.replaceAll(e -> condition ? newVal : e)शर्त के आधार पर सभी मैचिंग रिप्लेसvoid
ListIterator.set()iterator.set(element)इटरेशन के दौरान रिप्लेसvoid

उन्नत रिप्लेसमेंट उदाहरण

List list = new ArrayList<>(Arrays.asList("Java", "Scala", "Mysql", "Redshift"));

// 1. शर्त के आधार पर सभी घटनाओं को रिप्लेस करें (Java 8+)
list.replaceAll(s -> s.equals("Mysql") ? "Python" : s);
// परिणाम: [Java, Scala, Python, Redshift]

// 2. एकाधिक रिप्लेसमेंट्स
Map replacements = Map.of(
    "Java", "Java 17",
    "Scala", "Scala 3",
    "Mysql", "PostgreSQL"
);
list.replaceAll(s -> replacements.getOrDefault(s, s));

// 3. ListIterator के साथ इटरेशन के दौरान रिप्लेस
ListIterator it = list.listIterator();
while (it.hasNext()) {
    String current = it.next();
    if (current.startsWith("J")) {
        it.set(current + " Language");
    }
}

// 4. Stream के साथ सशर्त रिप्लेसमेंट (नई लिस्ट)
List newList = list.stream()
    .map(s -> s.length() > 4 ? s.toUpperCase() : s)
    .collect(Collectors.toList());

// 5. इंडेक्स रेंज रिप्लेसमेंट
List sublist = list.subList(1, 3);
Collections.fill(sublist, "Replaced");

सामान्य त्रुटियां और सर्वोत्तम अभ्यास

  • IndexOutOfBoundsException: हमेशा set() से पहले इंडेक्स वैलिडेट करें: if (index >= 0 && index < list.size())
  • Null एलिमेंट्स: ArrayList nulls की अनुमति देता है, लेकिन सावधानी से उपयोग करें
  • अपरिवर्तनीय लिस्ट्स: List.of(), Collections.unmodifiableList() पर set() अनसपोर्टेड ऑपरेशन फेंकता है
  • कॉन्करेंट मॉडिफिकेशन: इटरेशन के दौरान set() ठीक है, लेकिन add/remove नहीं
  • प्रदर्शन: ArrayList.set() O(1), LinkedList.set() O(n)

रिकॉर्ड/POJO के साथ उपयोग

record Person(String name, int age) {}

List people = new ArrayList<>(List.of(
    new Person("Alice", 25),
    new Person("Bob", 30)
));

// रिकॉर्ड अपरिवर्तनीय हैं - नया इंस्टेंस बनाएं
people.set(0, new Person("Alice", 26));  // उम्र अपडेट की गई

// या mutable क्लास के साथ
class MutablePerson {
    String name; int age;
    // setters...
}
  1. - जावा प्रोग्राम: मैट्रिक्स के बाउंड्री एलिमेंट्स प्रिंट करना

    इस लेख में, हम समझेंगे कि मैट्रिक्स के बाउंड्री एलिमेंट्स कैसे प्रिंट किए जाते हैं। मैट्रिक्स पंक्तियों और स्तंभों में एलिमेंट्स का प्रतिनिधित्व है। बाउंड्री एलिमेंट्स वे एलिमेंट्स हैं जो चारों दिशाओं में एलिमेंट्स से घिरे नहीं होते। उदाहरण के लिए, पहली पंक्ति, पहला स्तंभ, अंतिम पंक्ति और अंतिम स्त

  1. - जावा में List से डुप्लिकेट तत्वों को हटाने का प्रोग्राम

    List से डुप्लिकेट हटाने के लिए, कोड निम्नानुसार है: उदाहरण import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.Set; public class Demo {     public static void main(String[] args){       ArrayList<String> list = new ArrayList<String>(); &n

  1. - पायथन प्रोग्राम - पहले 'K' एलिमेंट्स को 'N' से बदलें

    जब पहले K एलिमेंट्स को N से बदलना हो, तो सिंपल इटरेशन का उपयोग किया जाता है। उदाहरण नीचे इसका प्रदर्शन दिया गया है: my_list = [13, 34, 26, 58, 14, 32, 16, 89] print(सूची है:) print(my_list) K = 2 print(K का मान है:) print(K) N = 99 print(N का मान है:) print(N) for index in range(K): my_list[