لنقم بحل المشكلة التي طرحتها باستخدام لغة البرمجة جافا. سنقوم بكتابة برنامج يقوم بمطابقة العناصر في الصفين المعطاة ويعرض النتائج بالترتيب المطلوب.
أولاً، سنقوم بتعريف الصف الرئيسي الذي سيحتوي على الكود الرئيسي لحل المشكلة:
-
تحليل أمان ArrayList في برمجة Java المتعددة30/01/2024
-
كيفية تجنب خطأ JSON.typeMismatch05/04/2024
-
تحويل تواريخ في Java31/03/2024
javaimport java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ArrayMatching {
public static void main(String[] args) {
String[] txtfilename = {"txt1", "txt6", "txt6", "txt6", "txt7", "txt7", "txt8", "txt9", "txt9", "txt9", "txt9"};
String[] content = {"apple from one", "six trees", "cats", "happy dogs", "healthy fruit", "good job", "ask question", "check safety", "stay in the house", "good results", "happy holiday"};
Map> resultMap = matchArrays(txtfilename, content);
// Display the result
for (Map.Entry> entry : resultMap.entrySet()) {
System.out.println("txtfilename: " + entry.getKey());
System.out.println("content: " + entry.getValue());
}
}
public static Map> matchArrays(String[] txtfilename, String[] content) {
Map> resultMap = new HashMap<>();
for (int i = 0; i < txtfilename.length; i++) {
String key = txtfilename[i];
String value = content[i];
if (!resultMap.containsKey(key)) {
resultMap.put(key, new ArrayList<>());
}
resultMap.get(key).add(value);
}
return resultMap;
}
}
في هذا الكود، قمنا بتعريف صف ArrayMatching
الذي يحتوي على دالة main
كنقطة دخول للتطبيق. في الداخل، لدينا مصفوفتان txtfilename
و content
تمثل البيانات التي نريد مطابقتها. ثم نقوم بإنشاء Map
يحتوي على مفتاح هو العنصر من txtfilename
وقيمة هي قائمة تحتوي على المحتوى المطابق لهذا المفتاح. ثم نقوم بعرض النتائج بالترتيب المطلوب.
بهذا، قد قمنا بحل المشكلة وعرض النتائج المطلوبة بواسطة برنامج جافا.
المزيد من المعلومات
بما أنك ترغب في الحصول على مزيد من المعلومات، دعني أشرح بعض النقاط الأساسية حول كيفية عمل هذا البرنامج ولماذا تم استخدام بعض الهياكل والمفاهيم في لغة البرمجة جافا.
أولاً وقبل كل شيء، قمنا بتعريف مصفوفتين txtfilename
و content
، وهما يحتويان على البيانات التي نريد مطابقتها. بعد ذلك، استخدمنا هيكل البيانات Map
لتخزين النتائج. تم استخدام Map
لأنه يسمح لنا بتخزين البيانات بشكل مفتاح/قيمة، حيث يكون لكل مفتاح قيمة مقابلة.
ثم قمنا بتعريف دالة matchArrays
التي تقوم بمطابقة العناصر في الصفين المعطاة وتعيد النتائج في شكل Map
مرتبة حسب المطلوب. في هذه الدالة، تم استخدام حلقة for
للانتقال عبر العناصر في المصفوفتين txtfilename
و content
، وفي كل خطوة نتحقق من ما إذا كان المفتاح (العنصر من txtfilename
) موجودًا في الـ Map
أم لا. إذا كان موجودًا، فإننا نضيف القيمة المقابلة لهذا المفتاح إلى القائمة الموجودة بالفعل في الـ Map
، وإذا لم يكن موجودًا، فإننا ننشئ قائمة جديدة ونضيف القيمة إليها ثم نضيف هذه القائمة إلى الـ Map
.
أخيرًا، قمنا بعرض النتائج المخزنة في الـ Map
بالترتيب المطلوب باستخدام حلقة for-each
للانتقال عبر مفاتيح الـ Map
وطباعة كل مفتاح مع القيمة المقابلة له.
باستخدام هذا البرنامج، يمكننا بسهولة مطابقة العناصر في المصفوفتين وعرض النتائج بالترتيب المطلوب. وهذا يعكس قوة استخدام هياكل البيانات المناسبة والتقنيات الصحيحة في حل المشكلات البرمجية.