CodeGym /Java Blog /अनियमित /जावा में Arrays.asList () विधि
John Squirrels
स्तर 41
San Francisco

जावा में Arrays.asList () विधि

अनियमित ग्रुप में प्रकाशित
बहुत से शुरुआती लोग Arrays.asList () विधि की अवधारणा को डेटा संरचना ArrayList के साथ जोड़ते हैं। भले ही वे समान दिखें और ध्वनि करें, जब कार्यान्वयन की बात आती है तो ये दोनों बिल्कुल अलग हैं। इस पोस्ट में, हम Arrays.asList() मेथड के मूल उपयोग को कवर करेंगे और इससे संबंधित कुछ प्रचलित भ्रमों का भंडाफोड़ करेंगे।

Arrays.asList() का उपयोग क्यों किया जाता है?

यदि आपके पास एक ऐरे है जिसे आपको एक सूची में बदलने की आवश्यकता है तो java.util.Arrays इस उद्देश्य को पूरा करने के लिए एक रैपर Arrays.asList() प्रदान करता है। सरल शब्दों में, यह विधि एक सरणी को एक पैरामीटर के रूप में लेती है और एक सूची लौटाती है। संग्रह ढांचे को पेश करने से पहले जावा प्लेटफॉर्म एपीआई के प्रमुख भाग विकसित किए गए थे। इसलिए कभी-कभी, आपको पारंपरिक सरणियों और अधिक आधुनिक संग्रहों के बीच अनुवाद करने की आवश्यकता हो सकती है। यह फ़ंक्शन संग्रह और सरणी आधारित API के बीच एक कड़ी के रूप में कार्य करता है।जावा में Arrays.asList () विधि - 1

उदाहरण

निम्न उदाहरण पर एक नज़र डालें:

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;

public class ArraysAsListDemo {
    public static void main(String[] args) {

	String[] teamMembers = {"Amanda", "Loren", "Keith"};
      // using aslist() method
	List teamList = Arrays.asList(teamMembers);
	System.out.println("List : " + teamList);
		
	HashSet teamHashSet = new HashSet<>(Arrays.asList(teamMembers));
	System.out.println("HashSet : " + teamHashSet);
    }
}
आउटपुट:
सूची: [अमांडा, लोरेन, कीथ] हैशसेट: [कीथ, लोरेन, अमांडा] // हैशसेट ऑर्डर बनाए नहीं रखता है

कैसे Arrays.asList () और ArrayList अलग हैं?

जब आप किसी सरणी पर Arrays.asList() विधि को कॉल करते हैं, तो लौटाई गई वस्तु एक ArrayList ( सूची इंटरफ़ेस का एक आकार बदलने योग्य सरणी कार्यान्वयन ) नहीं होती है। यह get() और set() विधियों के साथ एक व्यू ऑब्जेक्ट है जो अंतर्निहित सरणी तक पहुंचता है। सभी विधियाँ जो सरणी के आकार को बदल देंगी, जैसे कि संबंधित पुनरावर्तक का जोड़ () या निकालें () एक असमर्थितऑपरेशन अपवाद को फेंक देगा । कारण जावा प्रोग्राम सफलतापूर्वक संकलित करता है लेकिन एक रनटाइम अपवाद देता है, जाहिर है, एक "सूची" के परिणाम के रूप में वापस आ जाता हैArrays.asList () । जहां सभी जोड़ने/हटाने के संचालन की अनुमति है। लेकिन चूंकि, अंतर्निहित डेटा संरचना एक गैर-आकार बदलने योग्य "सरणी" है , इसलिए रन टाइम पर एक अपवाद फेंक दिया जाता है। यहां एक स्निपेट दिखाया गया है कि यह कैसा दिखता है:

import java.util.Arrays;
import java.util.List;
public class ArraysAsListDemo {
   public static void main(String[] args) {
	Integer[] diceRoll = new Integer[6];	
      //using aslist() method
	List diceRollList = Arrays.asList(diceRoll);
	System.out.println(diceRollList);
	
	// using getters and setters to randomly access the list	
	diceRollList.set(5, 6);	
	diceRollList.set(0, 1);	
	System.out.println(diceRollList.get(5));
	System.out.println(diceRollList.get(1));

	System.out.println(diceRollList);
	
	diceRollList.add(7); // Add a new Integer to the list
    }
}
आउटपुट:
[शून्य, शून्य, शून्य, शून्य, शून्य, शून्य] 6 शून्य [1, शून्य, शून्य, शून्य, शून्य, 6] धागे में अपवाद "मुख्य" java.lang.UnsupportedOperationException पर java.util.AbstractList.add (सारसूची। java:148) java.util.AbstractList.add(AbstractList.java:108) पर ArraysAsListDemo.main(ArraysAsListDemo.java:20) पर

AsList() विधि का उपयोग करने के उदाहरण

जावा एसई 5.0 के रूप में, asList() विधि को तर्कों की एक चर संख्या के लिए घोषित किया गया है। किसी ऐरे को पास करने के बजाय, आप व्यक्तिगत तत्वों को भी पास कर सकते हैं। उदाहरण के लिए:

import java.util.Arrays;
import java.util.List;
public class ArraysAsListDemo {
    public static void main(String[] args) {
	List seasons = Arrays.asList("winter", "summer", "spring", "fall");
	List odds = Arrays.asList(1, 3, 5, 7, 9);

	System.out.println(seasons);
	System.out.println(odds);
    }
}
आउटपुट:
[सर्दी, गर्मी, बसंत, पतझड़] [1, 3, 5, 7, 9]

निष्कर्ष

Arrays.asList() का उपयोग करने के लिए आपको यह ध्यान रखना होगा कि यह आपकी उपयोगिता के लिए केवल एक रैपर विधि है। इसे ArrayList के साथ न मिलाएं और ध्यान रखें कि यह एक "सूची" लौटाता है। प्रारंभ में आपको जोड़ने/हटाने के कार्य करने में त्रुटियां हो सकती हैं, लेकिन निरंतर अभ्यास और समझ से यह सब दूर हो जाता है। तो अपनी आईडीई पर क्लिक करें और सीखने का एक अच्छा अनुभव प्राप्त करें!
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION