इस लेख में, हम समझेंगे कि लिंक्ड लिस्ट को ऐरे में और इसके विपरीत कैसे कन्वर्ट करें। java.util.LinkedList क्लास ऑपरेशन्स वे परफॉर्म करते हैं जो हम डबल-लिंक्ड लिस्ट के लिए उम्मीद कर सकते हैं। ऑपरेशन्स जो लिस्ट में इंडेक्स करते हैं, लिस्ट को शुरुआत या अंत से ट्रैवर्स करेंगे, जो भी निर्दिष्ट इंडेक्स के करीब हो।
नीचे इसका प्रदर्शन है:
मान लीजिए हमारा इनपुट है:
लिस्ट परिभाषित है: [Java, Python, Scala, Mysql]
वांछित आउटपुट होगा:
परिणाम ऐरे है: Java Python Scala Mysql
एल्गोरिदम
चरण 1 - शुरू चरण 2 - घोषित करें चरण 3 - मान परिभाषित करें चरण 4 - एक लिस्ट बनाएं और 'add' मेथड का उपयोग करके इसमें एलिमेंट्स जोड़ें चरण 5 - कंसोल पर लिस्ट प्रदर्शित करें चरण 6 - पिछली लिस्ट के आकार की एक और खाली लिस्ट बनाएं चरण 7 - 'toArray' मेथड का उपयोग करके इसे ऐरे में कन्वर्ट करें चरण 8 - ऐरे पर इटरेट करें और कंसोल पर एलिमेंट्स प्रदर्शित करें चरण 9 - रुकें
उदाहरण 1: List से Array
यहाँ, हम लिस्ट को ऐरे में कन्वर्ट करते हैं।
import java.util.LinkedList;
public class Demo {
public static void main(String[] args) {
System.out.println("आवश्यक पैकेज आयात किए गए हैं");
LinkedList input_list = new LinkedList<>();
input_list.add("Java");
input_list.add("Python");
input_list.add("Scala");
input_list.add("Mysql");
System.out.println("लिस्ट परिभाषित है: " + input_list);
String[] result_array = new String[input_list.size()];
input_list.toArray(result_array);
System.out.print("\nपरिणाम ऐरे है: ");
for (String elements : result_array) {
System.out.print(elements + " ");
}
}
}
आउटपुट
आवश्यक पैकेज आयात किए गए हैं लिस्ट परिभाषित है: [Java, Python, Scala, Mysql] परिणाम ऐरे है: Java Python Scala Mysql
उदाहरण 2: Array से List
यहाँ, हम एक ऐरे को लिस्ट में कन्वर्ट करते हैं।
import java.util.Arrays;
import java.util.LinkedList;
public class Demo {
public static void main(String[] args) {
System.out.println("आवश्यक पैकेज आयात किए गए हैं");
String[] result_array = {"Java", "Python", "Scala", "Mysql"};
System.out.println("result_array के एलिमेंट्स परिभाषित हैं: " + Arrays.toString(result_array));
LinkedList result_list = new LinkedList<>(Arrays.asList(result_array));
System.out.println("\nresult लिस्ट के एलिमेंट्स हैं: " + result_list);
}
}
आउटपुट
आवश्यक पैकेज आयात किए गए हैं result_array के एलिमेंट्स परिभाषित हैं: [Java, Python, Scala, Mysql] result लिस्ट के एलिमेंट्स हैं: [Java, Python, Scala, Mysql]
विभिन्न कन्वर्जन तरीके
| कन्वर्जन | मेथड | नोट्स |
|---|---|---|
| List → Array | toArray(new T[0]) | टाइप-सेफ, पसंदीदा तरीका |
| List → Array | toArray(new T[size]) | प्री-अलोकेटेड ऐरे |
| Array → List | Arrays.asList() | फिक्स्ड-साइज़ लिस्ट रिटर्न करता है |
| Array → ArrayList | new ArrayList<>(Arrays.asList()) | मॉडिफिएबल ArrayList |
| Array → LinkedList | new LinkedList<>(Arrays.asList()) | मॉडिफिएबल LinkedList |
| Array → List (Stream) | Arrays.stream(arr).collect(Collectors.toList()) | फिल्टरिंग/मैपिंग के लिए फ्लेक्सिबल |
महत्वपूर्ण नोट्स
- Arrays.asList(): रिटर्न की गई लिस्ट फिक्स्ड-साइज़ है, add/remove अनसपोर्टेड ऑपरेशन फेंकते हैं
- toArray(new T[0]): JDK 11+ में सबसे कुशल (सिंगल ऐरे अलोकेशन)
- LinkedList विशिष्ट: कंस्ट्रक्टर किसी भी Collection को स्वीकार करता है
- प्रिमिटिव ऐरे: प्रिमिटिव्स के लिए काम नहीं करता (int[] → List
मैनुअल आवश्यक)
प्रिमिटिव ऐरे कन्वर्जन
// int[] → Listint[] primitiveArray = {1, 2, 3, 4, 5}; List list = Arrays.stream(primitiveArray) .boxed() .collect(Collectors.toList()); // List → int[] List list = Arrays.asList(1, 2, 3, 4, 5); int[] array = list.stream().mapToInt(Integer::intValue).toArray();