تحويل صفيف إلى ArrayList في Java

في المقالة السابقة، رأينا كيف تحويل ArrayList إلى مصفوفة مع مثال. في هذا البرنامج التعليمي ، سنفعل العكس: تحويل ArrayList إلى arrayList.

1) نسخ عناصر الصفيف إلى ArrayList

تتكون هذه الطريقة من استعراض عناصر الصفيف ونسخها واحدة تلو الأخرى إلى ArrayList.

import java.util.ArrayList; 

الفئة العامة ArraylistToTable {

الفراغ العام الثابت الرئيسي (سلسلة [] args) {

ArrayList t = ArrayList () الجديدة ArrayListstring();
String [] classes = {"فصول صحية" ، "فصول معمارية عبر الإنترنت" ،
"فصول كهربائية"} ؛
//انسخ قيم obj إلى قائمة t
< سلسلة> al = (قائمة الصفيف< سلسلة>) إلىقائمة الصفيف (الفئات) ؛
//display
for(int i=0; i < al.size(); i++)
System.out.println(al.get(i));
}

< ثابت ت> <>قائمة< ت> toArrayList(T[] Array){
List< ت> al = ArrayList جديد< ت> ();
ل (T obj: الجدول) < br / > al.add (obj) ؛
العودة آل ؛
}
} < / t>< / t>< / t>< / t>< / string >< / string >< / pre>< / div>

2) The Arrays.asList()

The Arrays.asList() يتحول إلى سطر واحد.

import java.util.ArrayList; 
import java.util.Arrays;
import java.util.List;

الفئة العامة ArraylistToTable {

الفراغ العام الثابت الرئيسي (سلسلة [] args) {

String [] card = {"visaCard" ، "MasterCard" ، "AmericanExpress"} ؛

ArrayList al = ArrayList (Arrays.asList (card)) ؛

//display
for(int i=0; i < al.size(); i++)
System.out.println(al.get(i));
} < br / >}
< / سلسلة >< / سلسلة >< / سلسلة >< / سلسلة >< / قبل > الإخراج:

< pre class = "prettyprint lang-java" >visaCard
MasterCard
AmericanExpress
< / pre>تجنب استخدام النوع List< / span > لأننا سنواجه مشكلتين:
  • تم إصلاح الحجم الذي تم إرجاعه بواسطة asList () ، إذا قمت بإزالة أو إضافة عناصر ، فعليك القيام بذلك في ArrayList () جديد وإلا سيكون لديك استثناء ؛ UnsupportedOperationException.
  • يتم ربط الصفيف الذي تم إرجاعه بالمصفوفة الأصلية ، إذا قمت بتعديل المصفوفة الأصلية ، تعديل القائمة أيضا.
List l = Arrays.asList(card); 
//Edit المصفوفة الأصلية
card[0]="Neteller";

for(int i=0; i < l.size(); i++)
System.out.println(l.get(i));
< / pre> Output

< pre class = "prettyprint lang-java" > Neteller
MasterCard
AmericanExpress< / pre>

3) The Collections.AddAll()

طريقة أخرى تعادل نمط asList() هو استخدام Collections.AddAll(). هذه الطريقة أكثر كفاءة وأسرع ويمكننا القول إنها أفضل طريقة لإجراء التحويل إلى ArrayList.

import java.util.ArrayList; 
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

الفئة العامة ArraylistToTable {

الفراغ العام الثابت الرئيسي (سلسلة [] args) {

List al = ArrayList () الجديدة ArrayListstring ();
String[] titles = {"title1, title2, title3"};

Collections.addAll (al ، العناوين) ؛

//display
for(int i=0; i < al.size(); i++)
System.out.println(al.get(i));
} < br / >} < / سلسلة >< / سلسلة >< / قبل > الإخراج:

< pre class = "prettyprint lang-java" >title1
title2
title3
< / pre>< / div>