Skip to main content

Sorting Collection

Sorting atau pengurutan adalah algoritma yang sudah biasa kita lakukan. Pada Java Collection juga sudah disediakan cara untuk melakukan pengurutan, jadi kita tidak perlu melakukan pengurutan secara manual. ⚠️ Namun perlu diingat, yang bisa di sort hanyalah List, karena Set, Queue, Deque dan Map cara kerjanya sudah khusus, jadi pengurutan hanya bisa dilakukan di List.

Sorting pada List

MethodKeterangan
Collections.sort(list)Mengurutkan list dengan comparable bawaan element
Collections.sort(list, comparator)Mengurutkan list dengan comparator

Contoh:

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

// Sort hanya bisa di List
public class DemoSortCollection {

public static void main(String[] args) {
List<String> names = new ArrayList<String>();
names.addAll(List.of("Rani", "Endang", "Upik", "Mike"));

// Contoh sort
Collections.sort(names);

for (var name : names) {
System.out.println(name);
}

System.out.println();

// Contoh sort with comparator
Collections.sort(names, new MyComparator());

for (var name : names) {
System.out.println(name);
}
}

static class MyComparator implements Comparator<String> {

// reverse sort
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1);
}

}

}

Output:

Endang
Mike
Rani
Upik

Upik
Rani
Mike
Endang