Как использовать сопоставимые интерфейса

Список объектов, которые реализуют этот интерфейс можно сортировать автоматически Упорядочить списка интерфейса. Этот интерфейс СотрагеТо (), который используется рода () объекта в списке.

В этом классе Сотрудник Код осуществляет Сопоставимые интерфейс и методы СотрагеТо (). ComparableDemo.java демонстрирует использование этого интерфейса. Это первый класс составляет список объектов Сотрудник тип и вызвать рода java.util.Collections метода, который используется внутри СотрагеТо () класса работников и сортировки списка соответственно.

Employee.java


public class Employee implements Comparable {



    int EmpID;

    String Ename;

    double Sal;

    static int i;



    public Employee() {

        EmpID = i++;

        Ename = "dont know";

        Sal = 0.0;

    }



    public Employee(String ename, double sal) {

        EmpID = i++;

        Ename = ename;

        Sal = sal;

    }



    public String toString() {

        return "EmpID " + EmpID + "\n" "Ename " + Ename + "\n" "Sal" + Sal;

    }



    public int compareTo(Object o1) {

        if (this.Sal == ((Employeeo1).Sal)

            return 0;

        else if ((this.Sal((Employeeo1).Sal)

            return 1;

        else

            return -1;

    }

}

ComparableDemo.java


import java.util.*;



public class ComparableDemo{



    public static void main(String[] args) {



        List ts1 = new ArrayList();

        ts1.add(new Employee ("Tom",40000.00));

        ts1.add(new Employee ("Harry",20000.00));

        ts1.add(new Employee ("Maggie",50000.00));

        ts1.add(new Employee ("Chris",70000.00));

        Collections.sort(ts1);

        Iterator itr = ts1.iterator();



        while(itr.hasNext()){

            Object element = itr.next();

            System.out.println(element + "\n");

            

        }



    }

}

Вывод:

EmpID 1
Ename Harry
Sal20000.0
EmpID 0
Ename Tom
Sal40000.0
EmpID 2
Ename Maggie
Sal50000.0
EmpID 3
Ename Chris
Sal70000.0

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>