TIL

java sort comperator

yolang 2024. 11. 20. 21:36
728x90

java에서 class 를 만들고

그 내용으로 sort 하고 싶을때

 

comperator를 쓰면된다. 오늘 소프티어 시험 보면서 알게 된 사실^^ 

(누가 시험 보면서 공부하냐...- 나) 

시험때 적었던 코드는 기억이 안나서 지피티한테 예시 하나 만들어달라고 했다. 

 

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

class Item {
    private String name;
    private int value;

    public Item(String name, int value) {
        this.name = name;
        this.value = value;
    }

    public String getName() {
        return name;
    }

    public int getValue() {
        return value;
    }

    @Override
    public String toString() {
        return "Item{name='" + name + "', value=" + value + "}";
    }
}

public class Main {
    public static void main(String[] args) {
        List<Item> items = new ArrayList<>();
        items.add(new Item("A", 10));
        items.add(new Item("B", 5));
        items.add(new Item("C", 20));
        items.add(new Item("D", 15));

        // value를 기준으로 오름차순 정렬
        items.sort(Comparator.comparingInt(Item::getValue));
        System.out.println(items);

        // value를 기준으로 내림차순 정렬
        items.sort(Comparator.comparingInt(Item::getValue).reversed());
        System.out.println(items);
    }
}

 

Java도 잘하는 사람이 되겠어~~

728x90