So sortieren Sie eine ArrayList mit Comparator in Java

Standardmäßig werden Elemente in ArrayList in der Reihenfolge angezeigt, in der sie in die Liste eingefügt wurden, aber manchmal müssen Sie diese Elemente in aufsteigender oder absteigender Reihenfolge durchsuchen. Dieser Code implementiert die Collections.sort() das a Arraylist in aufsteigender und absteigender Reihenfolge sortiert.

Ord ArrayList in aufsteigender Reihenfolge

import java.util.ArrayList; 
import java.util.Collections;

public class Tri {

public static void main(String[] args) {
ArrayList unsorted = 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("Vor dem Sortieren");
for(int i=0; i < unsorted.size(); i++)
System.out.println(unsorted.get(i));

System.out.println("\nNach dem Sortieren");
Sammlungen.sort(unsortiert);
for(int i=0; i < unsorted.size(); i++)
System.out.println(unsorted.get(i));
}
}
Output:

Before tri
01
0A
0B
ETX
00
0C
NUL
05
19
0001011
< br />Nach dem Sortieren
00
0001011
01
05
0A
0B
0C
19
ETX
NUL

Sort ArrayList in absteigender Reihenfolge

Die Collections-Klasse hat eine andere Methode Sammlungen.sort(Liste< T>, Komparator< T>) mit dem Sie eine ArrayList in aufsteigender und absteigender Reihenfolge sortieren können. Diese Funktion verwendet einen Objektkomparator, der jedes Mal zwei Objekte mit der Funktion o1.compareTo(o2).

import java.util.ArrayList; 
import java.util.Collections;
import java.util.Comparator;

public class Tri {

public static void main(String[] args) {
ArrayList unsorted = 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("Vor dem Sortieren");
for(int i=0; i < unsorted.size(); i++)
System.out.println(unsorted.get(i)+" ");

System.out.println("\nNach dem Sortieren");

Collections.sort(nonsort, new Comparator() {
@Override
public int compare(String s1, String s2)
{
/*s2 im Vergleich zu s1, so dass die Reihenfolge absteigend ist
return s2.compareTo(s1);
}
});
for(int i=0; i < unsorted.size(); i++)
System.out.println(unsorted.get(i)+" ");
}
}
Output:

Before Sort
11000000
10101000
00000001
00001111
00001100
00001111
11111111
11111100
000000000
00000011
00001110

After sort
11111111
11111100
11000000
10101000
00001111
00001111
00001110
00001100
00000011
00000001
000000000
Referenzen:
American Standard Code for Information Interchange
Documentation Collections.sort
stackOverFlow:Sortieren einer ArrayList in java