इस का उपयोग करें: उन downvoting लिए
public class Test
{
public static void main(String[] args)
{
Employee emp1 = new Employee(2, "Tom", 20);
Employee emp2 = new Employee(1, "Tom", 20);
Employee emp3 = new Employee(3, "Hank", 21);
List<Employee> list = new ArrayList<>();
list.add(emp1);
list.add(emp2);
list.add(emp3);
Collections.sort(list, new Employee().new MyComparator());
System.out.println(list);
}
}
class Employee
{
private int empId;
private String name;
private int age;
public Employee()
{}
public Employee(int empId, String name, int age)
{
this.empId = empId;
this.name = name;
this.age = age;
}
class MyComparator implements Comparator<Employee>
{
@Override
public int compare(Employee e1, Employee e2)
{
if(e1.name.compareTo(e2.name) == 0)
{
if(((Integer)e1.age).compareTo(e2.age) == 0)
{
return ((Integer)e1.empId).compareTo(e2.empId);
}
else
{
return ((Integer)e1.age).compareTo(e2.age);
}
}
return e1.name.compareTo(e2.name);
}
}
@Override
public String toString()
{
return "Employee [empId=" + empId + ", name=" + name + ", age=" + age + "]";
}
}
, कृपया कह क्यों/कैसे सवाल आप के लिए एक downvote लायक द्वारा मदद करते हैं। –
क्या आप ".equals()" विधि को ओवरराइड नहीं कर सकते हैं जो सभी तीन मानों की तुलना करता है? ... ओह क्षमा करें, मुझे थोड़ी देर बाद एहसास हुआ कि आप ऑब्जेक्ट्स को सॉर्ट करना चाहते हैं और इस प्रकार तुलनित्र! पुराने प्रश्नों की खोज के लिए – Sap