"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إزالة التكرارات بكفاءة من القوائم في جافا؟

كيفية إزالة التكرارات بكفاءة من القوائم في جافا؟

تم النشر بتاريخ 2024-11-12
تصفح:272

How to Efficiently Remove Duplicates from Lists in Java?

إزالة التكرارات من القوائم في Java

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

اكتشاف التكرارات الساذجة

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

List listCustomer = new ArrayList();
for (Customer customer : tmpListCustomer) {
  if (!listCustomer.contains(customer)) {
    listCustomer.add(customer);
  }
}

إزالة النسخ المكررة بكفاءة

للحصول على الأداء الأمثل واستخدام الذاكرة، فكر في استخدام أساليب بديلة مثل:

  1. LinkedHashSet: تحافظ فئة LinkedHashSet على ترتيب العناصر مع إزالة التكرارات. يؤدي تحويل القائمة إلى LinkedHashSet والعودة إلى القائمة إلى الحفاظ على الترتيب الأصلي دون الحاجة إلى التحقق الصريح:
List depdupeCustomers =
    new ArrayList(new LinkedHashSet(customers));
    Set Mutation:
  1. إذا كنت ترغب في تعديل القائمة الأصلية مباشرة، فكر في تحويلها إلى LinkedHashSet، وإزالة التكرارات وتحديث القائمة الأصلية:
Set depdupeCustomers = new LinkedHashSet(customers); customer.clear(); customers.addAll(dedupeCustomers);
Set depdupeCustomers = new LinkedHashSet(customers);
customers.clear();
customers.addAll(dedupeCustomers);
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3