30. Sort ArrayList Id and Value using Comparator and Comparable - prabhatrocks07/Core-Java-Programming GitHub Wiki

public class ArrayListComparatorVsComparable {

public static void main(String[] args) {
	List<Dog> list = new ArrayList<>();
	list.add(new Dog(10, "Tommy"));
	list.add(new Dog(12, "Lacy"));
	list.add(new Dog(8, "Tammy"));
	list.add(new Dog(6, "Roger"));
	
	System.out.println("Default order of List = " + list);
	//list.forEach(d -> System.out.println(d));
	
	Collections.sort(list);
	System.out.println("Sorting order of Age = " + list);
	
	Collections.sort(list, new Dog());
	System.out.println("Sorting order of Name = " + list);
}
}

class Dog implements Comparable<Dog>, Comparator<Dog> {

private int age;
private String name;

@Override
public int compareTo(Dog d) {
	return this.age - d.age;
}

@Override
public int compare(Dog d1, Dog d2) {
	return d1.name.compareTo(d2.name);
}

public int getAge() {
	return age;
}

public Dog() {
	
}

public Dog(int age, String name) {
	this.age = age;
	this.name = name;
}

public void setAge(int age) {
	this.age = age;
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

@Override
public String toString() {
	return "Dog [age=" + age + ", name=" + name + "]";
}
}
⚠️ **GitHub.com Fallback** ⚠️