JavaでComparatorを使用してArrayListを並べ替える方法
既定では、ArrayList の項目はリストに挿入された順序で表示されますが、これらの項目を昇順または降順で参照する必要がある場合があります。このコードは、Collections.sort() a Arraylist を昇順と降順でソートします
、コンパレータ) ArrayList を昇順と降順で並べ替えることができます。この関数は、関数 o1.compareTo(o2).
American Standard Code for Information Interchange
Documentation Collections.sort
stackOverFlow:java< / a>< / divでArrayListをソートする方法>
Sort ArrayList 昇順
import java.util.ArrayList;Output:
import java.util.Collections;
public class Tri {
public static void main(String[] args) {
ArrayListunsorted = new 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("\nソート後");
Collections.sort(unsorted);
for(int i=0; i < unsorted.size(); i++)
System.out.println(unsorted.get(i));
}
}
前 tri
01
0A
0B
ETX
00
0C
NUL
05
19
0001011
並べ替え後
00
0001011
01
05
0A
0B
0C
19
ETX
NUL
ArrayList を降順で並べ替える
Collections クラスには別のメソッドがあります Collections.sort(リストimport java.util.ArrayList;Output:
import java.util.Collections;
import java.util.Comparator;
public class Tri {
public static void main(String[] args) {
ArrayListunsorted = new 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("\nソート後");
Collections.sort(nonsort, new Comparator() {
@Override
public int compare(String s1, String s2)
{
/*s2 を s1 と比較して降順にする
return s2.compareTo(s1);
}
});
for(int i=0; i < unsorted.size(); i++)
System.out.println(unsorted.get(i)+" ");
}
}
並べ替え前参照:
110000000
10101000
00000001
00001111
00001100
00001111
11111111
11111100
000000000
00000011
00001110
並べ替え後
11111111
11111100
11000000
10101000
00001111
00001111
00001110
00001100
00000011
00000001
000000000
American Standard Code for Information Interchange
Documentation Collections.sort
stackOverFlow:java< / a>< / divでArrayListをソートする方法>