Amir Aou نشر 16 أكتوبر 2022 أرسل تقرير نشر 16 أكتوبر 2022 السلام عليكم ورحمة الله وبركاته في لغة jav ArrayList<ArrayList <String>> array = new ArrayList هل هاذ المصفوفة عملية وهل هناك بديل احسن من غير set get اقتباس
0 Ahmed Sadek Elamine Touahria نشر 16 أكتوبر 2022 أرسل تقرير نشر 16 أكتوبر 2022 1. نظرة عامة من سؤالك أظن أنه يجب فهم المصفوفات في الجافا وأهمية كل نوع منها ، بالإضافة إلى فهم المقارنة بينهم . أولاً ، سنرى نموذجًا للتنفيذ باستخدام ArrayList. بعد ذلك ، سننتقل إلى واجهة القائمة ونقارن الاختلافات. 2. باستخدام ArrayList ArrayList هو أحد تطبيقات القائمة الأكثر استخدامًا في Java. إنه مبني على قمة مصفوفة ، والتي يمكن أن تنمو وتتقلص ديناميكيًا عندما نضيف / نزيل العناصر. من الجيد تهيئة قائمة بسعة أولية عندما نعلم أنها ستكبر: ArrayList<String> list = new ArrayList<>(25); باستخدام ArrayList كنوع مرجعي ، يمكننا استخدام طرق في ArrayList API غير موجودة في List API - على سبيل المثال ، insuranceCapacity أو trimToSize أو removeRange. 2.2. مشكلة البيانات المتغيرة الحجم لنفترض أنه مع تطور التطبيق ، يصبح من الواضح أن عدد الركاب يختلف كثيرًا. على سبيل المثال ، إذا كان هناك خمسة مسافرين محجوزين فقط ، بسعة أولية 20 ، فإن الفاقد في الذاكرة هو 75٪. لنفترض أننا قررنا التبديل إلى قائمة أكثر كفاءة في استخدام الذاكرة. 2.3 تغيير النوع توفر Java تطبيق قائمة آخر يسمى LinkedList لتخزين البيانات متغيرة الحجم. يستخدم LinkedList مجموعة من العقد المرتبطة لتخزين العناصر واستردادها. ماذا لو قررنا تغيير التطبيق الأساسي من ArrayList إلى LinkedList: private LinkedList<Passenger> passengers = new LinkedList<>(); يؤثر هذا التغيير على أجزاء أكثر من التطبيق لأن جميع الوظائف في التطبيق التجريبي تتوقع العمل مع نوع ArrayList. 3. التبديل إلى القائمة List private List<Passenger> passengers = new ArrayList<>(20); هنا ، نحن نستخدم واجهة القائمة كنوع مرجعي بدلاً من نوع ArrayList الأكثر تحديدًا. يمكننا تطبيق نفس المبدأ على جميع استدعاءات الوظائف وأنواع الإرجاع. فمثلا: public List<Passenger> getPassengersBySource(String source) { return passengers.stream() .filter(it -> it.getSource().equals(source)) .collect(Collectors.toList()); } كلا الفئتين ArrayList و LinkedList عبارة عن تطبيقات لواجهة List. لذلك ، يمكننا الآن تغيير تطبيق القاعدة بأمان دون إحداث أي اضطرابات في أجزاء أخرى من التطبيق. لا يزال الفصل يجمع ويعمل بشكل جيد كما كان من قبل. خلاصة لا يمكننا تحديد افضل نوع مصفوفة فهذا يندرج حسب استخدامك لها 2 اقتباس
0 Amir Aou نشر 16 أكتوبر 2022 الكاتب أرسل تقرير نشر 16 أكتوبر 2022 (معدل) بتاريخ 29 دقائق مضت قال Ahmed Sadek: شكرا لك اخي على التوضيح سؤالي عن مصفوفة داخل مصفوفة هل عند زيادة القيم يتاثر اداء التطبيق او لا تم التعديل في 16 أكتوبر 2022 بواسطة Amir Aou اقتباس
0 Ahmed Sadek Elamine Touahria نشر 16 أكتوبر 2022 أرسل تقرير نشر 16 أكتوبر 2022 بتاريخ 3 ساعات قال Amir Aou: شكرا لك اخي على التوضيح سؤالي عن مصفوفة داخل مصفوفة هل عند زيادة القيم يتاثر اداء التطبيق او لا لا بالعكس ، يُنصح باستعمالها اقتباس
السؤال
Amir Aou
السلام عليكم ورحمة الله وبركاته
في لغة jav
ArrayList<ArrayList <String>> array = new ArrayList
هل هاذ المصفوفة عملية وهل هناك بديل احسن من غير set get
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.