كيفية فرز ArrayList مع المقارنة في Java
بشكل افتراضي، يتم عرض العناصر الموجودة في ArrayList بالترتيب الذي يتم إدراجها به في القائمة، ولكن في بعض الأحيان تحتاج إلى استعراض هذه العناصر بترتيب تصاعدي أو تنازلي. يقوم هذا الرمز بتنفيذ < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >Collections.sort() الذي يفرز a Arraylist بترتيب تصاعدي وتنازلي.
Sort ArrayList بترتيب تصاعدي
import java.util.ArrayList;
import java.util.Collections;
الفئة العامة الثلاثية {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
ArrayListunsorted = ArrayList () الجديدة
nonsort.add ("01") ؛
nonsort.add ("0A") ؛
unsorted.add("0B");
unsorted.add ("ETX") ؛
unsorted.add ("00") ؛
unsorted.add("0C");
nonsort.add ("NUL") ؛
unsorted.add ("05") ؛
unsorted.add ("19") ؛
unsorted.add("0001011");
System.out.println ("قبل الفرز") ؛
for(int i=0; i < unsorted.size(); i++)
System.out.println(unsorted.get(i));
System.out.println("\nAfter sorting");
Collections.sort (غير مصنفة) ؛
for(int i=0; i < unsorted.size(); i++)
System.out.println(unsorted.get(i));
}
} < / string >< / string >< / pre> الإخراج:
< pre class = "prettyprint lang-java" > قبل tri
01
0A
0B
ETX
00
0C
NUL
05
19
0001011
< br / > بعد الفرز
00
0001011
01
05
0A
0B
0C
19
ETX
NUL
< / pre>فرز ArrayList بترتيب تنازلي< / h2 > تحتوي فئة المجموعات على طريقة أخرى مجموعات.فرز (قائمة< T> ، المقارنة< ت>) < / span > والذي يسمح لك بفرز ArrayList بترتيب تصاعدي وتنازلي. تستخدم هذه الوظيفة مقارنة كائن يقارن كائنين في كل مرة بالدالة o1.compareTo(o2).
import java.util.ArrayList;
import java.util.Collections;
import java.util.Compartor ؛
الفئة العامة الثلاثية {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
ArrayListunsorted = ArrayList () الجديدة
unsorted.add ("11000000") ؛
unsorted.add ("10101000") ؛
unsorted.add ("00000001") ؛
unsorted.add ("00001111") ؛
nontrié.add("00001100");
unsorted.add ("00001111") ؛
unsorted.add("11111111");
nonsort.add ("11111100") ؛
unsorted.add ("00000000");
unsorted.add("00000011");
unsorted.add ("00001110") ؛
System.out.println ("قبل الفرز") ؛
for(int i=0; i < unsorted.size(); i++)
System.out.println(unsorted.get(i)+" ");
System.out.println("\nAfter sorting");
Collections.sort (nonsort ، مقارنة جديدة < سلسلة > () {
@Override
int مقارنة عامة (سلسلة s1 ، سلسلة s2)
{
/ * s2 مقارنة ب s1 بحيث يكون الترتيب تنازليا < br / > إرجاع s2.compareTo (s1) ؛
}
})؛
for(int i=0; i < unsorted.size(); i++)
System.out.println(unsorted.get(i)+" ");
}
}
< / string >< / string >< / string >< / pre> الإخراج:
< pre class = "prettyprint lang-java" > قبل الفرز
11000000
10101000
00000001
00001111
00001100
00001111
11111111
11111100
00000000
00000011
00001110
بعد الفرز
11111111
11111100
11000000
10101000
00001111
00001111
00001110
00001100
00000011
00000001
00000000
< / pre> المراجع:
American Standard Code for Information Interchange
Documentation Collections.sort
stackOverFlow: كيفية فرز ArrayList في java< / a>< / div>