البرمجة

تحسين إضافة وإزالة العناصر في Java: دليل عملي للمبتدئين

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

أولاً وقبل كل شيء، يجب عليك استخدام النص “List” بدلاً من “def” لتعريف نوع المتغير. في Java، نستخدم “List” لتحديد القوائم. لذلك، سيكون التعريف الصحيح لقائمتك كما يلي:

java
import java.util.List; public class ListPractice implements Testable { List mylist = Arrays.asList(4, 5, 6); /** * Adds a set of elements to the mylist variable * * @param elts The elements to be added */ void addToList(List elts) { mylist.addAll(elts); } @Override void testMe() { addToList(Arrays.asList(7, 8, 9)); assert mylist.equals(Arrays.asList(4, 5, 6, 7, 8, 9)); // يبدو أنك ترغب في التحقق هنا من قائمة كاملة، لكن الأفضل هو التحقق من جزء منها assert mylist.subList(3, mylist.size()).equals(Arrays.asList(7, 8, 9)); } }

يجب عليك استخدام ArrayList أو LinkedList أو أي نوع آخر من فئات تحقيق List بدلاً من Arrays.asList إذا كنت ترغب في السماح بإضافة وإزالة العناصر.

المزيد من المعلومات

بالطبع، دعنا نستمر في توضيح المزيد حول الشيفرة وكيف يمكنك تحسينها.

  1. استخدام ArrayList:
    قمت باستخدام Arrays.asList لإنشاء قائمة ثابتة، ولكن قد تحتاج إلى تحويلها إلى قائمة قابلة للتعديل. يمكنك استخدام ArrayList بدلاً من ذلك لتمكين عمليات إضافة وإزالة. هنا كيف يمكنك تحسينها:

    java
    import java.util.ArrayList; import java.util.List; public class ListPractice implements Testable { List mylist = new ArrayList<>(List.of(4, 5, 6)); void addToList(List elts) { mylist.addAll(elts); } @Override void testMe() { addToList(List.of(7, 8, 9)); assert mylist.equals(List.of(4, 5, 6, 7, 8, 9)); assert mylist.subList(3, mylist.size()).equals(List.of(7, 8, 9)); } }
  2. تحسين الطريقة addToList:
    الطريقة addToList التي كتبتها لديها خطأ. يجب عليك استخدام addAll بدلاً من + لدمج القائمتين. إليك الشيفرة المحسنة:

    java
    void addToList(List elts) { mylist.addAll(elts); }
  3. استخدام AssertJ لفحص القوائم:
    يمكنك استخدام مكتبة مثل AssertJ لتسهيل كتابة التحققات. هذا يمكن أن يجعل الشيفرة أكثر وضوحًا ويسهل الصيانة. قد تحتاج إلى إضافة مستورد لها ومن ثم يمكنك استخدام:

    java
    import static org.assertj.core.api.Assertions.assertThat; // ... @Override void testMe() { addToList(List.of(7, 8, 9)); assertThat(mylist).containsExactly(4, 5, 6, 7, 8, 9); assertThat(mylist.subList(3, mylist.size())).containsExactly(7, 8, 9); }

    هذا يعتبر أكثر وضوحًا وسهولة في قراءة الشيفرة.

أرجو أن تكون هذه الإضافات مفيدة. إذا كانت لديك أي أسئلة أو تحتاج إلى مزيد من التوضيح، فلا تتردد في طرحها.

زر الذهاب إلى الأعلى