CodeGym/Java Blog/यादृच्छिक/Java मध्ये Arrays.asList() पद्धत
John Squirrels
पातळी 41
San Francisco

Java मध्ये Arrays.asList() पद्धत

यादृच्छिक या ग्रुपमध्ये प्रकाशित केले
सदस्य
बरेच नवशिक्या Arrays.asList() पद्धतीची संकल्पना डेटा स्ट्रक्चर ArrayList सह गोंधळात टाकतात. जरी ते दिसायला आणि सारखे वाटत असले तरी, अंमलबजावणीच्या बाबतीत हे दोघे पूर्णपणे भिन्न आहेत. या पोस्टमध्ये, आम्ही Arrays.asList() पद्धतीचा मूलभूत वापर कव्हर करू आणि त्याच्याशी संबंधित काही प्रचलित गोंधळ दूर करू.

Arrays.asList() का वापरले जाते?

जर तुमच्याकडे अ‍ॅरे असेल ज्याला तुम्हाला सूचीमध्ये बदलण्याची आवश्यकता असेल तर java.util.Arrays हे उद्देश पूर्ण करण्यासाठी Arrays.asList() एक रॅपर प्रदान करते . सोप्या शब्दात, ही पद्धत पॅरामीटर म्हणून अॅरे घेते आणि सूची परत करते. जावा प्लॅटफॉर्म API चे प्रमुख भाग संग्रह फ्रेमवर्क सादर करण्यापूर्वी विकसित केले गेले होते. त्यामुळे अधूनमधून, तुम्हाला पारंपारिक अॅरे आणि अधिक आधुनिक संग्रहांमध्ये भाषांतर करावे लागेल. हे फंक्शन कलेक्शन्स आणि अ‍ॅरे आधारित API च्या दरम्यान लिंक म्हणून काम करते.Java मधील Arrays.asList() पद्धत - १

उदाहरण

खालील उदाहरण पहा:
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() पद्धती असलेले दृश्य ऑब्जेक्ट आहे जे अंतर्निहित अॅरेमध्ये प्रवेश करते. अॅरेचा आकार बदलणार्‍या सर्व पद्धती जसे की संबंधित पुनरावृत्तीचा add() किंवा remove() UnsupportedOperationException टाकतात . जावा प्रोग्राम यशस्वीरित्या संकलित करण्याचे कारण परंतु रनटाइम अपवाद देते हे आहे की, वरवर पाहता, एक "सूची" परिणाम म्हणून परत केली जाते.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
    }
}
आउटपुट:
[null, null, null, null, null, null] 6 null [1, null, null, null, null, 6] java.util.AbstractList.add(AbstractList.) येथे "मुख्य" थ्रेडमधील अपवाद java.lang.UnsupportedOperationException. java:148) java.util.AbstractList.add(AbstractList.java:108) येथे ArraysAsListDemo.main(ArraysAsListDemo.java:20)

asList() पद्धत वापरण्याची उदाहरणे

Java SE 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);
    }
}
आउटपुट:
[हिवाळा, उन्हाळा, वसंत ऋतु, शरद ऋतूतील] [१, ३, ५, ७, ९]

निष्कर्ष

Arrays.asList() वापरण्‍यासाठी तुम्‍हाला हे लक्षात ठेवण्‍याची आवश्‍यकता आहे की ती तुमच्‍या स्वतःच्‍या युटिलिटीसाठी रॅपर पद्धत आहे. ते ArrayList सह मिसळू नका आणि लक्षात ठेवा की ते "सूची" परत करते. सुरुवातीला तुम्हाला जोडणे/काढण्याची कार्ये करताना त्रुटी येऊ शकतात, परंतु हे सर्व सातत्यपूर्ण सराव आणि समजून घेतल्याने दूर होते. तर तुमचा IDE दाबा आणि उत्तम शिकण्याचा अनुभव घ्या!
टिप्पण्या
  • लोकप्रिय
  • नवीन
  • जुने
टिप्पणी करण्यासाठी तुम्ही साईन इन केलेले असणे आवश्यक आहे
या पानावर अजून कोणत्याही टिप्पण्या नाहीत