logo

تم تعيين جافا على القائمة

في هذا القسم سنناقش كيفية تحويل مجموعة ( HashSet أو TreeSet ) في القائمة ( ArrayList أو قائمة مرتبطة ).

تم تعيين جافا على القائمة

هناك الطرق التالية لتحويل Set إلى List في Java:

  • النهج الأصلي
  • استخدام المنشئ (ArrayList أو LinkedList)
  • باستخدام طريقة ArrayList addAll()
  • استخدام تدفق في جافا

النهج الأصلي

منطق النهج الأصلي بسيط للغاية. في هذا الأسلوب، نقوم ببساطة بإنشاء مجموعة (HashSet أو TreeSet) ونكررها على المجموعة ونضيف جميع عناصر المجموعة إلى القائمة بمساعدة حلقة.

SetToListExample1.java

 import java.util.*; public class SetToListExample1 { public static void main(String args[]) { //creating a Set of type String Set set = new HashSet(); //adding elements to the Set set.add('Bordeaux'); set.add('Cannes'); set.add('Chamonix'); set.add('Chartres'); set.add('Clermont-Ferrand'); set.add('Limoges'); set.add('Marseille'); set.add('Nice'); set.add('Paris'); //determines the size of Set int n = set.size(); //creates an ArrayList of size n List list = new ArrayList(n); //loop iterates over Set for (String x : set) //adds elements to the list list.add(x); System.out.println('ArrayList is: '); //loop iterates over List for (String x : list) //prints the elements System.out.println(x); } } 

انتاج:

 ArrayList is: Cannes Bordeaux Marseille Nice Clermont-Ferrand Chartres Limoges Chamonix Paris 

استخدام المنشئ (فئة ArrayList أو LinkedList)

المنطق هو نفسه على النحو الوارد أعلاه. والفرق الوحيد هو أننا استخدمنا مُنشئ فئة ArrayList وLinkedList وقمنا بتمرير عناصر المجموعة إلى المُنشئ.

 List list = new ArrayList(set); List lList = new LinkedList(set); 

SetToListExample2.java

 import java.util.*; public class SetToListExample2 { public static void main(String args[]) { //creating a HashSet of type String Set set= new HashSet(); //adding elements to the Set set.add('Sharjah'); set.add('Dubai'); set.add('Abu Dhabi'); set.add('Kalba'); set.add('Dhaid'); set.add('Hatta'); //creates an ArrayList using constructor and passing elements to the constructor List list = new ArrayList(set); System.out.println('ArrayList is: '); //loop iterates over the list for (String x : list) //prints the ArrayList System.out.println(x); System.out.println('
LinkedList is: '); //creates LinkedList using constructor and passing elements to the constructor List lList = new LinkedList(set); //loop iterates over LinkedList for (String x : lList) //prints the LinkedList System.out.println(x); } } 

انتاج:

 ArrayList is: Sharjah Dhaid Kalba Hatta Dubai Abu Dhabi LinkedList is: Sharjah Dhaid Kalba Hatta Dubai Abu Dhabi 

باستخدام أسلوب ArrayList.addAll()

يقوم الأسلوب ArrayList.addAll() بإلحاق كافة العناصر الموجودة في المجموعة المحددة بنهاية هذه القائمة، بالترتيب الذي يتم إرجاعها بواسطة Iterator للمجموعة المحددة. إنه يتجاوز طريقة addAll () لفئة AbstractCollection.

SetToListExample3.java

 import java.util.*; public class SetToListExample3 { public static void main(String args[]) { //converting HashSet to ArrayList //creating a HashSet of type String Set set = new HashSet(); //adding elements to the Set set.add('Texas'); set.add('California'); set.add('Illinois'); set.add('Dallas'); set.add('San Jose'); set.add('California'); set.add('Austin'); set.add('Columbus'); //creates a constructor of the ArrayList class List list = new ArrayList(); //adding the set elements to the list using the addAll() method list.addAll(set); System.out.println('ArrayList is: '); //loop iterates over the LinkedList for (String x : list) //prints the ArrayList System.out.println(x); //converting HashSet to LinkedList List linkList = new LinkedList(); //adding Set elements to the LinkedList using the addAll() method linkList.addAll(set); System.out.println('
LinkedList is: '); //loop iterates over the LinkedList for (String x : linkList) //prints the LinkedList System.out.println(x); } } 

انتاج:

 ArrayList is: Texas Illinois Columbus California Austin Dallas San Jose LinkedList is: Texas Illinois Columbus California Austin Dallas San Jose 

استخدام الدفق في جافا

إذا استخدمنا الدفق لتحويل Set إلى قائمة، فسنقوم أولاً بتحويل Set إلى دفق ثم تحويل الدفق إلى قائمة. إنه يعمل فقط في Java 8 أو الإصدارات الأحدث.

 List list = set.stream().collect(Collectors.toList()); 

تدفق(): يقوم الدفق الدفق () بإرجاع دفق كائن عادي لمجموعة أو قائمة.

تيار.جمع (): يتم استخدام طريقة التجميع () لفئة الدفق لتجميع عناصر أي دفق في مجموعة.

Collectors.toList(): تُرجع الطريقة مُجمعًا يجمع عناصر الإدخال في قائمة جديدة.

دعونا نرى مثالا.

SetToListExample4.java

 import java.util.*; import java.util.stream.*; public class SetToListExample4 { public static void main(String args[]) { //Creating a hash set of strings Set set = new HashSet(); //adding elements to the Set set.add('London'); set.add('England'); set.add('Wales'); set.add('Scotland'); set.add('Bristol'); set.add('Cambridge'); //converts set to stream and then stream to list List list = set.stream().collect(Collectors.toList()); System.out.println('List is: '); //loop iterates over the list for (String x : list) //prints the list elements System.out.println(x); } } 

انتاج:

 List is: Cambridge Bristol Wales London England Scotland