Java에서 Comparator를 사용하여 ArrayList를 정렬하는 방법
기본적으로 ArrayList의 항목은 목록에 삽입된 순서대로 표시되지만 이러한 항목을 오름차순 또는 내림차순으로 찾아야 하는 경우도 있습니다. 이 코드는 Collections.sort() a Arraylist를 오름차순 및 내림차순으로 정렬합니다.
American Standard Code for Information Interchange
Documentation Collections.sort
stackOverFlow:java
ArrayList를 오름차순으로 정렬
import java.util.ArrayList;출력:
import java.util.Collections;
public class Tri {
public static void main(String[] args) {
ArrayListunsorted = new ArrayList ();
nonsort.add("01");
nonsort.add("0A");
정렬되지 않은.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(정렬되지 않음);
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
< br />정렬 후
00
0001011
01
05
0A
0B
0C
19
ETX
NUL
Sort ArrayList in descending order
Collections 클래스에는 또 다른 메서드가 있습니다. Collections.sort(목록< T>, 비교기< 티>) ArrayList를 오름차순 및 내림차순으로 정렬할 수 있습니다. 이 함수는 o1.compareTo(o2).import java.util.ArrayList;출력:
import java.util.Collections;
import java.util.Comparator;
public class Tri {
public static void main(String[] args) {
ArrayListunsorted = new ArrayList ();
정렬되지 않은.add("11000000");
정렬되지 않은.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 for s1 to order are descending
return s2.compareTo(s1);
}
});
for(int i=0; i < unsorted.size(); i++)
System.out.println(unsorted.get(i)+" ");
}
}
Before Sort참조:
11000000
10101000
00000001
00001111
00001100
00001111
11111111
11111100
00000000
00000011
00001110
정렬 후
11111111
11111100
11000000
10101000
00001111
00001111
00001110
00001100
00000011
00000001
00000000
American Standard Code for Information Interchange
Documentation Collections.sort
stackOverFlow:java