كيفية عكس مجموعة كائنات في Java
يوضح هذا المثال كيف عكس محتويات LinkedList عن طريق استدعاء طريقة المجموعات: الفئة: Collections.reverse() . اخترنا LinkedList كمجموعتنا من الكائنات. تنطبق نفس الطريقة أيضا على المجموعات الأخرى التي ترث من واجهة java.util.Collection. يجب عليك تمرير مثيل LinkedList كمعلمة. تستخدم هذه الطريقة لعكس ترتيب العناصر في القائمة.
example:
يعالج هذا الرمز المجموعات الثلاث التالية من كائنات java: ArrayList و LinkedList و Vector.
example:
يعالج هذا الرمز المجموعات الثلاث التالية من كائنات java: ArrayList و LinkedList و Vector.
import java.util.Collections;
import java.util.LinkedList;
inverse_collection الفئة العامة {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
LinkedListllist = جديد LinkedList ();
llist.add("1");
llist.add("2");
llist.add("3");
llist.add("4");
System.out.println("قبل الانقلاب: "+llist);
Collections.reverse (llist);
System.out.println("بعد الانقلاب: "+llist);
}
}
< / string >< / string >< / pre>النتيجة:
< pre class = "prettyprint lang-java" > قبل الانقلاب: [1 ، 2 ، 3 ، 4] < br / > بعد الانقلاب: [4 ، 3 ، 2 ، 1]
< / pre>المجموعات التي ترث من java.util.Set و java.util.Map غير مدعومة بواسطة طريقة Collections.reverse (). ومع ذلك ، يمكن حل جزئي:
- إنشاء مثيل من ArrayList مع مجموعة من واجهة Set أو Map
- تطبيق طريقة Collections.reverse() على ArrayList
- لا يمكن نسخ العناصر مرة أخرى إلى المجموعة الأصلية. لأي سبب؟ لأن واجهة Set لا تضمن ترتيب الإدراج.
ملاحظة: واجهة الخريطة عبارة عن جدول تجزئة مفتاح/قيمة. هذا يعني أن لدينا فقط خيار عكس المفاتيح أو القيم دون نسخ النتائج مرة أخرى إلى المجموعة التي تنفذ الخريطة ، لأنها لا تحافظ على ترتيب العناصر. مثال على TreeSet: < / div>
< pre class = "prettyprint lang-java" >import java.util.ArrayList ؛
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;
الطبقة العامة Intervert {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
// إنشاء TreeSet
TreeSet <سلسلة> tset = TreeSet() جديد ؛
// إضافة عناصر إلى treeset
tset.add("a")؛
tset.add("b");
tset.add("c");
مكرر مكرر = tset.iterator ();
// عرض TreeSet
System.out.println ("عناصر مجموعة الأشجار بترتيب تصاعدي:") ؛
بينما (iterator.hasNext()){
System.out.println(iterator.next());
}
قائمة <سلسلة> قائمة = ArrayList(tset) جديدة ؛
Collections.reverse (قائمة) ؛
// قيم العرض عكسيا
System.out.println ("عناصر مجموعة الأشجار بترتيب عكسي:") ؛
ل (سلسلة s: list)
System.out.println (s) ؛
} < br / >}
< / string >< / string >< / string >< / string >< / pre>الإخراج:
< pre class = "prettyprint lang-java" > عناصر Treeset بترتيب تصاعدي:
a
b
c
treeset العناصر بترتيب عكسي:
ج < ر / > ب < ر / >أ < / قبل >< / شعبة >< / شعبة >