/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A3.java
/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package edu.slcc.asdv.caleb.javafxballswithcomparator;

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

/**
 *
 * @author caleb
 */
public class A3 {

    int x;

    public A3() {
    }

    public A3(int x) {
        this.x = x;
    }

    @Override
    public String toString() {
        return "A2{" + "x=" + x + '}';
    }

    public static Comparator<A3> comparator() {
        Comparator<A3> c = new Comparator<A3>() {
            @Override
            public int compare(A3 o1, A3 o2) {
                return o1.x - o2.x;
            }
        };
        return c;
    }

    public static Comparator<A3> comparatorReverse() {
        Comparator<A3> c = new Comparator<A3>() {
            @Override
            public int compare(A3 o1, A3 o2) {
                return o1.x > o2.x ? -1 : 0;
            }
        };
        return c;
    }

    public static void main(String[] args) {
        List<A3> list1 = Arrays.asList(new A3(4), new A3(), new A3(2));

        System.out.println("Sorting in ascending order");
        Collections.sort(list1, A3.comparator());
        System.out.println(list1);
        System.out.println("Sorting in desending order");
        Collections.sort(list1, A3.comparatorReverse());
        System.out.println(list1);
    }

}