logo

قائمة جافا

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

تم العثور على واجهة القائمة فيjava.utilpackage ويرث واجهة المجموعة. إنه مصنع لواجهة ListIterator. من خلال ListIterator، يمكننا تكرار القائمة في الاتجاهين الأمامي والخلفي. فئات التنفيذ لواجهة القائمة هيArrayList,قائمة مرتبطةوالمكدس والمتجهات. يتم استخدام ArrayList وLinkedList على نطاق واسع في برمجة Java. تم إهمال فئة Vector منذ Java 5.

إعلان واجهة القائمة

 public interface List extends Collection 

طرق قائمة جافا

طريقة وصف
إضافة باطلة (فهرس كثافة العمليات، عنصر E) يتم استخدامه لإدراج العنصر المحدد في الموضع المحدد في القائمة.
إضافة منطقية (E e) يتم استخدامه لإلحاق العنصر المحدد في نهاية القائمة.
إضافة منطقية (المجموعة ج) يتم استخدامه لإلحاق جميع العناصر الموجودة في المجموعة المحددة بنهاية القائمة.
إضافة منطقية (int Index، Collection c) يتم استخدامه لإلحاق جميع العناصر في المجموعة المحددة، بدءًا من الموضع المحدد في القائمة.
باطل واضح () يتم استخدامه لإزالة كافة العناصر من هذه القائمة.
منطقية يساوي (كائن س) يتم استخدامه لمقارنة الكائن المحدد مع عناصر القائمة.
كود التجزئة الدولي () يتم استخدامه لإرجاع قيمة رمز التجزئة لقائمة.
الحصول على (فهرس كثافة العمليات) يتم استخدامه لجلب العنصر من موضع معين في القائمة.
منطقي فارغ () وترجع صحيحًا إذا كانت القائمة فارغة، وإلا فهي خاطئة.
كثافة العمليات lastIndexOf (كائن س) يتم استخدامه لإرجاع الفهرس الموجود في هذه القائمة لآخر تواجد للعنصر المحدد، أو -1 إذا كانت القائمة لا تحتوي على هذا العنصر.
الكائن [] إلى الصفيف () يتم استخدامه لإرجاع مصفوفة تحتوي على كافة العناصر الموجودة في هذه القائمة بالترتيب الصحيح.
T[] إلىصفيف(T[] أ) يتم استخدامه لإرجاع مصفوفة تحتوي على كافة العناصر الموجودة في هذه القائمة بالترتيب الصحيح.
منطقي يحتوي على (كائن س) يتم إرجاعه صحيحًا إذا كانت القائمة تحتوي على العنصر المحدد
منطقي يحتوي على الكل (المجموعة ج) يتم إرجاعه صحيحًا إذا كانت القائمة تحتوي على كافة العناصر المحددة
مؤشر كثافة العمليات (كائن س) يتم استخدامه لإرجاع الفهرس الموجود في هذه القائمة للتواجد الأول للعنصر المحدد، أو -1 إذا كانت القائمة لا تحتوي على هذا العنصر.
إزالة E (فهرس كثافة العمليات) يتم استخدامه لإزالة العنصر الموجود في الموضع المحدد في القائمة.
إزالة منطقية (الكائن س) يتم استخدامه لإزالة التواجد الأول للعنصر المحدد.
إزالة الكل المنطقية (المجموعة ج) يتم استخدامه لإزالة كافة العناصر من القائمة.
استبدال باطلة الكل (مشغل UnaryOperator) يتم استخدامه لاستبدال جميع العناصر من القائمة بالعنصر المحدد.
الاحتفاظ بالكل (المجموعة ج) باطلة يتم استخدامه للاحتفاظ بجميع العناصر الموجودة في القائمة الموجودة في المجموعة المحددة.
مجموعة E (فهرس كثافة العمليات، عنصر E) يتم استخدامه لاستبدال العنصر المحدد في القائمة، الموجود في الموضع المحدد.
فرز باطل (المقارنة ج) يتم استخدامه لفرز عناصر القائمة على أساس المقارنة المحددة.
مقسم () يتم استخدامه لإنشاء أداة تقسيم على العناصر الموجودة في القائمة.
القائمة الفرعية (int fromIndex، int toIndex) يتم استخدامه لجلب جميع العناصر الموجودة ضمن النطاق المحدد.
حجم صحيح () يتم استخدامه لإرجاع عدد العناصر الموجودة في القائمة.

قائمة جافا مقابل ArrayList

القائمة عبارة عن واجهة بينما ArrayList هي فئة التنفيذ للقائمة.

كيفية إنشاء قائمة

توفر فئتا ArrayList وLinkedList تنفيذ واجهة القائمة. دعونا نرى الأمثلة لإنشاء القائمة:

 //Creating a List of type String using ArrayList List list=new ArrayList(); //Creating a List of type Integer using ArrayList List list=new ArrayList(); //Creating a List of type Book using ArrayList List list=new ArrayList(); //Creating a List of type String using LinkedList List list=new LinkedList(); 

باختصار، يمكنك إنشاء القائمة من أي نوع. يتم استخدام فئتي ArrayList وLinkedList لتحديد النوع. هنا، T يدل على النوع.

مثال على قائمة جافا

دعونا نرى مثالاً بسيطًا للقائمة حيث نستخدم فئة ArrayList كتطبيق.

 import java.util.*; public class ListExample1{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
اختبره الآن

انتاج:

 Mango Apple Banana Grapes 

كيفية تحويل المصفوفة إلى قائمة

يمكننا تحويل المصفوفة إلى قائمة عن طريق اجتياز المصفوفة وإضافة العنصر في القائمة واحدًا تلو الآخر باستخدام طريقة list.add(). دعونا نرى مثالاً بسيطًا لتحويل عناصر المصفوفة إلى قائمة.

 import java.util.*; public class ArrayToListExample{ public static void main(String args[]){ //Creating Array String[] array={'Java','Python','PHP','C++'}; System.out.println('Printing Array: '+Arrays.toString(array)); //Converting Array to List List list=new ArrayList(); for(String lang:array){ list.add(lang); } System.out.println('Printing List: '+list); } } 
اختبره الآن

انتاج:

 Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++] 

كيفية تحويل القائمة إلى صفيف

يمكننا تحويل القائمة إلى مصفوفة عن طريق استدعاء الأسلوب list.toArray() . دعونا نرى مثالاً بسيطًا لتحويل عناصر القائمة إلى مصفوفة.

أمثلة على الأشجار الثنائية
 import java.util.*; public class ListToArrayExample{ public static void main(String args[]){ List fruitList = new ArrayList(); fruitList.add('Mango'); fruitList.add('Banana'); fruitList.add('Apple'); fruitList.add('Strawberry'); //Converting ArrayList to Array String[] array = fruitList.toArray(new String[fruitList.size()]); System.out.println('Printing Array: '+Arrays.toString(array)); System.out.println('Printing List: '+fruitList); } } 
اختبره الآن

انتاج:

 Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry] 

الحصول على العنصر وتعيينه في القائمة

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

نمط تصميم المصنع
 import java.util.*; public class ListExample2{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //accessing the element System.out.println('Returning element: '+list.get(1));//it will return the 2nd element, because index starts from 0 //changing the element list.set(1,'Dates'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
اختبره الآن

انتاج:

 Returning element: Apple Mango Dates Banana Grapes 

كيفية فرز القائمة

هناك طرق مختلفة لفرز القائمة، وسنستخدم هنا طريقة Collections.sort() لفرز عنصر القائمة. ال java.util توفر الحزمة فئة فائدة المجموعات الذي يحتوي على طريقة ثابتة (). باستخدام مجموعات.فرز () الطريقة، يمكننا بسهولة فرز أي قائمة.

 import java.util.*; class SortArrayList{ public static void main(String args[]){ //Creating a list of fruits List list1=new ArrayList(); list1.add('Mango'); list1.add('Apple'); list1.add('Banana'); list1.add('Grapes'); //Sorting the list Collections.sort(list1); //Traversing list through the for-each loop for(String fruit:list1) System.out.println(fruit); System.out.println('Sorting numbers...'); //Creating a list of numbers List list2=new ArrayList(); list2.add(21); list2.add(11); list2.add(51); list2.add(1); //Sorting the list Collections.sort(list2); //Traversing list through the for-each loop for(Integer number:list2) System.out.println(number); } } 

انتاج:

 Apple Banana Grapes Mango Sorting numbers... 1 11 21 51 

واجهة Java ListIterator

يتم استخدام واجهة ListIterator لاجتياز العنصر في الاتجاه الخلفي والأمامي.

إعلان واجهة ListIterator

 public interface ListIterator extends Iterator 

طرق واجهة Java ListIterator:

طريقة وصف
إضافة باطلة (ه ه) تقوم هذه الطريقة بإدراج العنصر المحدد في القائمة.
المنطقية hasNext() ترجع هذه الطريقة صحيحًا إذا كان مكرر القائمة يحتوي على المزيد من العناصر أثناء اجتياز القائمة في الاتجاه الأمامي.
التالي() تقوم هذه الطريقة بإرجاع العنصر التالي في القائمة وتحسين موضع المؤشر.
إنت نيكست إندكس () تقوم هذه الطريقة بإرجاع فهرس العنصر الذي سيتم إرجاعه عن طريق استدعاء لاحق إلى next()
المنطقية السابقة () ترجع هذه الطريقة صحيحًا إذا كان مكرر القائمة يحتوي على المزيد من العناصر أثناء اجتياز القائمة في الاتجاه العكسي.
ه السابقة () تقوم هذه الطريقة بإرجاع العنصر السابق في القائمة وتحريك موضع المؤشر إلى الخلف.
الفهرس السابق() تقوم هذه الطريقة بإرجاع فهرس العنصر الذي سيتم إرجاعه عن طريق استدعاء لاحق إلى السابق ().
إزالة باطلة () تقوم هذه الطريقة بإزالة العنصر الأخير من القائمة الذي تم إرجاعه بواسطة الطرق التالية () أو السابقة ().
مجموعة باطلة (E ه) تستبدل هذه الطريقة العنصر الأخير الذي تم إرجاعه بواسطة الأساليب التالية () أو السابقة () بالعنصر المحدد.

مثال على واجهة ListIterator

 import java.util.*; public class ListIteratorExample1{ public static void main(String args[]){ List al=new ArrayList(); al.add('Amit'); al.add('Vijay'); al.add('Kumar'); al.add(1,'Sachin'); ListIterator itr=al.listIterator(); System.out.println('Traversing elements in forward direction'); while(itr.hasNext()){ System.out.println('index:'+itr.nextIndex()+' value:'+itr.next()); } System.out.println('Traversing elements in backward direction'); while(itr.hasPrevious()){ System.out.println('index:'+itr.previousIndex()+' value:'+itr.previous()); } } } 

انتاج:

 Traversing elements in forward direction index:0 value:Amit index:1 value:Sachin index:2 value:Vijay index:3 value:Kumar Traversing elements in backward direction index:3 value:Kumar index:2 value:Vijay index:1 value:Sachin index:0 value:Amit 

مثال على القائمة: كتاب

دعونا نرى مثالاً على القائمة التي نضيف فيها الكتب.

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class ListExample5 { public static void main(String[] args) { //Creating list of Books List list=new ArrayList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications and Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to list list.add(b1); list.add(b2); list.add(b3); //Traversing list for(Book b:list){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 
اختبره الآن

انتاج:

 101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6 

مواضيع ذات صلة

قائمة المصفوفات في جافا

قائمة مرتبطة في جافا

الفرق بين ArrayList وLinkedList

الفرق بين المصفوفة و ArrayList

متى يتم استخدام ArrayList وLinkedList في Java

الفرق بين ArrayList وVector

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

كيفية عكس ArrayList في جافا

متى يتم استخدام ArrayList وLinkedList في Java

الخريطة في الآلة الكاتبة

كيفية جعل ArrayList للقراءة فقط

الفرق بين طول المصفوفة وحجم () ArrayList في Java

كيفية مزامنة ArrayList في جافا

كيفية تحويل ArrayList إلى Array و Array إلى ArrayList في Java

صفيف مقابل ArrayList في جافا

كيفية فرز Java ArrayList بترتيب تنازلي

كيفية إزالة التكرارات من ArrayList في Java