import java.util.ArrayList;
import java.util.*;
class Employee1 implements Comparable<Employee1> {
int empno;
String name;
Employee1(int i,String j) {
empno=i;
name=j;
}
public int compareTo(Employee1 e1) {
Employee1 e2=this;
Integer i1=e1.empno;
Integer i2=e2.empno;
return i1.compareTo(i2);
}
}
public class Employee {
public static void display(ArrayList<Employee1> i) {
for(Employee1 o:i){
System.out.println(o.empno);
}
}
public static void main(String[] args) {
ArrayList<Employee1> ob=new ArrayList<Employee1>();
Employee1 e1=new Employee1(1001,"A");
Employee1 e2=new Employee1(1002,"B");
ob.add(e2);
ob.add(e1);
Collections.sort(ob);
display(ob);
}
}
La sortie doit être 1001 1002
mais la sortie est 1002 1001
.java ... basé sur Collections
Tout d'abord je suis passé l'objet e2
avec empno
à la liste, puis e1
avec empno
de 1001
En raison de la méthode compareTo
dans Employee1
- e1.compareTo(e2);
devrait être le même que 1001.compareTo(1002);
Alors, pourquoi sont-ils montrent au mauvais commande?
ok..Andremoniy ... c'est bien ... S'il vous plaît dites-moi le flux de ..... – vinod
pourquoi utilisez-vous autant de points? c'est difficile de connecter les points de cette façon :) – ant
flux de l'instruction .... return i1.compareTo (i2); avec les objets ..e1 et e2 .. ?? – vinod