CodeGym /جاوا بلاگ /Random-UR /جاوا میں Arrays.asList() طریقہ
John Squirrels
سطح
San Francisco

جاوا میں Arrays.asList() طریقہ

گروپ میں شائع ہوا۔
بہت سارے ابتدائی افراد Arrays.asList() طریقہ کے تصور کو ڈیٹا سٹرکچر ArrayList کے ساتھ جوڑ دیتے ہیں۔ اگرچہ وہ نظر آتے ہیں اور ایک جیسے لگ سکتے ہیں، جب عمل درآمد کی بات آتی ہے تو یہ دونوں بالکل مختلف ہیں۔ اس پوسٹ میں، ہم Arrays.asList() طریقہ کے بنیادی استعمال کا احاطہ کریں گے اور اس سے متعلق کچھ مروجہ الجھنوں کو ختم کریں گے۔

Arrays.asList() کیوں استعمال کیا جاتا ہے؟

اگر آپ کے پاس ایک ارے ہے جسے آپ کو فہرست میں تبدیل کرنے کی ضرورت ہے تو java.util.Arrays اس مقصد کو پورا کرنے کے لیے ایک ریپر Arrays.asList() فراہم کرتا ہے۔ آسان الفاظ میں، یہ طریقہ پیرامیٹر کے طور پر ایک صف لیتا ہے اور ایک فہرست واپس کرتا ہے۔ جاوا پلیٹ فارم API کے بڑے حصے جمع کرنے کا فریم ورک متعارف کرانے سے پہلے تیار کیے گئے تھے۔ تو کبھی کبھار، آپ کو روایتی صفوں اور زیادہ جدید مجموعوں کے درمیان ترجمہ کرنے کی ضرورت پڑ سکتی ہے۔ یہ فنکشن کلیکشنز اور اری پر مبنی 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);
    }
}
آؤٹ پٹ:
فہرست: [Amanda, Loren, Keith] HashSet: [Keith, Loren, Amanda] // HashSet ترتیب کو برقرار نہیں رکھتا

Arrays.asList() اور ArrayList کیسے مختلف ہیں؟

جب آپ کسی صف پر Arrays.asList() طریقہ کو کال کرتے ہیں ، تو لوٹا ہوا آبجیکٹ ArrayList نہیں ہوتا ہے ( فہرست انٹرفیس کا ایک نیا سائز دینے والا سرنی نفاذ )۔ یہ get() اور set() طریقوں کے ساتھ ایک ویو آبجیکٹ ہے جو بنیادی صف تک رسائی حاصل کرتا ہے۔ وہ تمام طریقے جو صف کے سائز کو تبدیل کرتے ہیں جیسے کہ متعلقہ تکرار کرنے والے کے add() یا remove() ایک UnsupportedOperationException پھینک دیتے ہیں ۔ جاوا پروگرام کے کامیابی کے ساتھ مرتب ہونے کی وجہ لیکن رن ٹائم استثناء دیتا ہے کہ، بظاہر، Arrays.asList() کے نتیجے میں ایک "List" واپس آ جاتی ہے ۔ جہاں تمام اضافہ/حذف کرنے کی کارروائیاں جائز ہیں۔ لیکن چونکہ، بنیادی ڈیٹا کا ڈھانچہ ایک غیر تبدیل شدہ "سرنی" ہے ، اس لیے رن ٹائم پر ایک استثناء دیا جاتا ہے۔ یہاں ایک ٹکڑا دکھایا گیا ہے کہ یہ کیسا لگتا ہے:
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] دھاگے میں استثناء "main" java.lang.UnsupportedOperationException at java.util.AbstractList.add(AbstractList. java:148) java.util.AbstractList.add(AbstractList.java:108) at ArraysAsListDemo.main(ArraysAsListDemo.java:20)

asList() طریقہ استعمال کرنے کی مثالیں۔

جاوا 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);
    }
}
آؤٹ پٹ:
[موسم سرما، گرما، بہار، خزاں] [1، 3، 5، 7، 9]

نتیجہ

Arrays.asList() کو استعمال کرنے کے لیے آپ کو ذہن میں رکھنا ہوگا کہ یہ آپ کی اپنی افادیت کے لیے صرف ایک ریپر طریقہ ہے۔ اسے ArrayList کے ساتھ نہ ملائیں اور ذہن میں رکھیں کہ یہ ایک "لسٹ" لوٹاتا ہے۔ ابتدائی طور پر آپ کو اضافے/ہٹانے کے افعال انجام دینے میں غلطیاں مل سکتی ہیں، لیکن یہ سب مستقل مشق اور سمجھ بوجھ سے دور ہو جاتا ہے۔ تو اپنا IDE دبائیں اور سیکھنے کا بہترین تجربہ حاصل کریں!
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION