logo

كيفية مقارنة اثنين من ArrayList في جافا

هناك الطرق التالية لمقارنة قائمتين ArrayList في Java:

  • جافا يساوي () طريقة
  • جافا حذف الكل() طريقة
  • جافا الاحتفاظ بالكل () طريقة
  • جافا ArrayList.contains() طريقة
  • جافا محتوى يساوي () طريقة
  • جافا تدفق واجهه المستخدم

جافا يساوي الأسلوب ().

جافا يساوي () طريقة قائمة تقارن الواجهة الكائن المحدد مع قائمة المساواة. إنه يتجاوز يساوي () طريقة هدف فصل.

بناء الجملة

جافا النوم
 boolean equals(Object o) 

تقبل هذه الطريقة هدف ليتم مقارنتها من أجل المساواة مع القائمة. يعود حقيقي إذا كان الكائن المحدد يساوي القائمة، فسيتم إرجاع else خطأ شنيع .

مثال

في المثال التالي، قمنا بإنشاء اثنين من ArrayList firstList و القائمة الثانية . مقارنة كلا القائمتين باستخدام يساوي () الأسلوب، فإنه يعود صحيحا. لقد أضفنا عنصرًا آخر في القائمة الثانية لإنشاء فرق بين القائمة الأولى والثانية. الآن، إذا أجرينا المقارنة، فإنه يعود خطأ شنيع .

 import java.util.*; public class ComapreArraylistExample1 { public static void main(String args[]) { //first array list ArrayList firstList=new ArrayList(); //adds elements to the arraylist firstList.add('Apple'); firstList.add('Pears'); firstList.add('Guava'); firstList.add('Mango'); System.out.println(firstList); //second array list List secondList=new ArrayList(); //adds elements to the arraylist secondList.add('Apple'); secondList.add('Pears'); secondList.add('Guava'); secondList.add('Mango'); System.out.println(secondList); //comparing both lists boolean boolval = firstList.equals(secondList); //returns true because lists are equal System.out.println(boolval); //adding another element in the second list secondList.add('Papaya'); //again comparing both lists boolean bool = firstList.equals(secondList); //returns false because lists are not equal System.out.println(bool); } } 

انتاج |

 [Apple, Pears, Guava, Mango] [Apple, Pears, Guava, Mango] true false 

طريقة Java RemoveAll () (العثور على العنصر المفقود)

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

بناء الجملة

 public boolean removeAll(Collection c) 

تقبل هذه الطريقة مجموعة كمعلمة تحتوي على عناصر لإزالتها من هذه القائمة. يعود حقيقي إذا تغيرت هذه القائمة نتيجة المكالمة.

مثال

في المثال التالي، قمنا بإنشاء اثنين من ArrayList firstList و القائمة الثانية . ال حذف الكل() تقوم الطريقة بإزالة جميع عناصر القائمة الأولى لأن نفس العناصر موجودة أيضًا في القائمة الثانية، باستثناء بابايا . لذا، بابايا هو العنصر المفقود في firstList . وبالتالي يعود بابايا . ترجع الطريقة ملف قائمة فارغة [] إذا كانت القائمة تحتوي على نفس العناصر.

 import java.util.*; public class ComapreArraylistExample2 { public static void main(String args[]) { //first arraylist ArrayList firstList=new ArrayList(); //adds elements to the array list firstList.add('Apple'); firstList.add('Pears'); firstList.add('Guava'); firstList.add('Peach'); //second array list ArrayList secondList=new ArrayList(); //adds elements to the array list secondList.add('Apple'); secondList.add('Pears'); secondList.add('Papaya'); secondList.add('Peach'); //removes all elements from the first list //returns empty list if all the elements of first list match with elements of second list secondList.removeAll(firstList); //prints the element of second list which does not match with the element of the first list System.out.println(secondList); } } 

انتاج |

 [Papaya] 

دعونا نرى مثالاً آخر لطريقة إزالة الكل () التي تُرجع العناصر من القائمة الأولى غير الموجودة في القائمة الثانية.

مثال

 import java.util.*; public class ComapreArraylistExample3 { public static void main(String args[]) { //first array list ArrayList firstList=new ArrayList(Arrays.asList(12, 4, 67, 90, 34)); System.out.println('First array list: '); System.out.println(firstList); //second array list List secondList=new ArrayList(Arrays.asList(12, 4, 67, 0, 34)); System.out.println('Second array list: '); System.out.println(secondList); //returns the common elements in both list firstList.removeAll(secondList); System.out.println('Un-common element of the first list: '); System.out.println(firstList); } } 

انتاج |

 First array list: [12, 4, 67, 90, 34] Second array list: [12, 4, 67, 0, 34] Un-common element of the first list: [90] 

طريقة Java keepAll () (إرجاع العناصر المشتركة في كلتا القائمتين)

جافا الاحتفاظ بالكل () طريقة ArrayList يحتفظ الفصل فقط بعناصر القائمة الموجودة في القائمة الأخرى أيضًا. إنه يتجاوز الاحتفاظ بالكل () طريقة AbstarctCollection فصل.

محدد جافا

بناء الجملة

 public boolean retainAll(Collection c) 

تقبل هذه الطريقة أ مجموعة كمعلمة تحتوي على العناصر التي سيتم الاحتفاظ بها في القائمة. يعود حقيقي إذا تغيرت هذه القائمة نتيجة المكالمة.

مثال

في هذا المثال، قمنا بإنشاء قائمتين ArrayList firstList و القائمة الثانية باستخدام كقائمة () طريقة المصفوفات فصل. تقوم طريقة asList() بإرجاع طريقة عرض القائمة للمصفوفة المحددة.

 import java.util.*; public class ComapreArraylistExample4 { public static void main(String args[]) { //first arraylist ArrayList firstList=new ArrayList(Arrays.asList('M', 'W', 'J', 'K', 'T')); System.out.println('First arraylist: '); System.out.println(firstList); //second arraylist List secondList=new ArrayList(Arrays.asList('M', 'W', 'E', 'K', 'T')); System.out.println('Second arraylist: '); System.out.println(secondList); //returns the common elements in both list secondList.retainAll(firstList); System.out.println('Common elements in both list: '); System.out.println(secondList); } } 

انتاج |

 First arraylist: [M, W, J, K, T] Second arraylist: [M, W, E, K, T] Common elements in both list: [M, W, K, T] 

طريقة Java ArrayList.contains()

جافا ArrayList.contains() يتم استخدام الطريقة لمقارنة عنصرين من ArrayList مختلفين. جافا ArrayList.contains() الأسلوب يتجاوز يتضمن() طريقة AbstractCollection فصل.

بناء الجملة

 public boolean contains(Object o) 

تقوم هذه الطريقة بتوزيع العنصر الذي سيتم التحقق من وجوده في القائمة. يعود حقيقي إذا كان العنصر مطابقًا، فسيتم إرجاع else خطأ شنيع .

مثال

في هذا المثال، قمنا بإنشاء قائمتين ArrayList firstList و القائمة الثانية ل خيط يكتب. لقد قمنا بمقارنة ArrayList باستخدام يتضمن() طريقة. إذا تطابقت عناصر القائمة الأولى مع عناصر القائمة الثانية، فإنها ترجع نعم ويخزن هذه القيمة في القائمة الثالثة . وبالمثل، إذا كان العنصر غير متطابق، فإنه يعود لا .

 import java.util.ArrayList; import java.util.Arrays; public class ComapreArraylistExample5 { public static void main(String [] args) { //first arraylist ArrayList firstList= new ArrayList(Arrays.asList('Good', 'Morning', 'Students')); //second arraylist ArrayList secondList= new ArrayList(Arrays.asList('Good', 'Night', 'frineds')); //storing the comparison output in thirdList ArrayList thirdList= new ArrayList(); //iterator using for-each loop for(String tempList : firstList) //tempList is a variable thirdList.add(secondList.contains(tempList) ? 'Yes' : 'No'); System.out.println(thirdList); } } 

انتاج |

 [Yes, No, No] 

طريقة Java contentEquals ().

جافا محتوى يساوي () يقارن الأسلوب خيط مع ال StringBuffer ويعود أ منطقية قيمة. تنتمي إلى خيط فصل.

بناء الجملة

 public boolean contentEquals(StringBuffer sb) 

تقبل هذه الطريقة StringBuffer كمعلمة للمقارنة مع السلسلة. يعود حقيقي إذا كانت السلسلة تمثل نفس تسلسل الأحرف مثل StringBuffer المحدد، فسيتم إرجاع else خطأ شنيع .

مثال

في هذا المثال، قمنا بإنشاء قائمتين ArrayList firstList و القائمة الثانية ل خيط يكتب. لقد أنشأنا طريقة ثابتة قائمة المقارنة () الذي يوزع اثنين من ArrayList ls1 و ls2 كوسيطة وإرجاع أ منطقية قيمة. تقوم الطريقة بتحويل القائمة إلى خيط . ال محتوى يساوي () تقارن الطريقة السلسلة بـ StringBuffer المحدد.

لقد أضفنا عنصرًا آخر في القائمة الثانية لإنشاء الفرق بين القائمتين واستدعاء قائمة المقارنة () الطريقة التي ترجع خطأ شنيع .

 import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ComapreArraylistExample6 { //defining method public static boolean compareList(ArrayList ls1, ArrayList ls2) { //converts List into String and checks string are equal or not return ls1.toString().contentEquals(ls2.toString())?true:false; } public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); ArrayList secondList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); System.out.println('When Lists are same: '+compareList(firstList, secondList)); //adding another element to the secondList secondList.add('C++'); //output after adding different element System.out.println('When Lists are not same: '+compareList(firstList, secondList)); } } 

انتاج |

 When Lists are same: true When Lists are not same: false 

واجهة جافا ستريم

جافا تدفق هي واجهة. انها تنتمي الى java.util طَرد. يوفر أ منقي() طريقة لتصفية عناصر الدفق على أساس عناصر معينة. إنه ل متوسط عملية.

بناء الجملة

 Stream filter(Predicate predicate) 

تقبل هذه الطريقة فاعل (الواجهة الوظيفية) كوسيطة وتقوم بإرجاع دفق جديد من العناصر الناتجة.

جافا منشئ السلسلة

طريقة التجميع ().

يتم استخدام طريقة أخرى في المثال التالي وهي يجمع() طريقة تدفق واجهه المستخدم.

يقوم بتنفيذ عملية اختزال قابلة للتغيير على عناصر هذا الدفق باستخدام المجمع. يقوم المجمع بتغليف الوظائف المستخدمة كوسائط للتجميع (المورد، BiConsumer، BiConsumer). يسمح بذلك إعادة الاستخدام استراتيجيات التحصيل وتكوين عمليات التحصيل. إنها صالة عملية.

بناء الجملة

 R collect(Collector collector) 

طريقة Collectors.toList()

ال لإدراج() هي طريقة ثابتة ل جامعي فصل. انها تنتمي الى java.util.Stream.Collectors فصل.

بناء الجملة

 public static Collector<t, ?, list> toList() </t,>

أين ت هو نوع العناصر. يعود أ جامع الذي يجمع كل عناصر الإدخال في قائمة، بترتيب لقاء (غير مرتب).

مثال

في المثال التالي، قمنا بإنشاء اثنين من ArrayList firstList و القائمة الثانية من نوع السلسلة. ال منقي() تقوم الطريقة بإرجاع قائمة بالعناصر المشتركة الموجودة في كلتا القائمتين.

 import java.util.*; public class CompareArrayListExample7 { public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList(&apos;Java&apos;, &apos;Python&apos;, &apos;Ruby&apos;, &apos;Go&apos;)); System.out.println(&apos;First List: &apos;+firstList); ArrayList secondList = new ArrayList(Arrays.asList(&apos;Java&apos;, &apos;Python&apos;, &apos;Ruby&apos;, &apos;Go&apos;, &apos;Perl&apos;)); System.out.println(&apos;Second List: &apos;+secondList); // Finds common elements System.out.print(&apos;Common elements: &apos; +firstList.stream().filter(secondList::contains).collect(Collectors.toList())); } } 

انتاج |

 First List: [Java, Python, Ruby, Go] Second List: [Java, Python, Ruby, Go, Perl] Common elements: [Java, Python, Ruby, Go]