How to sort Arraylist of objects

前端 未结 3 1382
星月不相逢
星月不相逢 2020-12-03 05:42

I have ArrayList, which containst football teams (class Team). Teams have points and i want to sort them by number of points.

 public class Team {
     priva         


        
3条回答
  •  庸人自扰
    2020-12-03 06:18

    public class Team {
       private int points;
       private String name;
    
    public Team(String n, int p) {
        name = n;
        points = p;
    }
    
    public int getPoints() {
        return points;
    }
    
    public String getName() {
        return name;
    }
    
    public static void main(String[] args) {
        List lteams = new ArrayList();
    
        lteams.add(new Team("FC Barcelona", 0));
        lteams.add(new Team("Arsenal FC", 2));
        lteams.add(new Team("Chelsea", 3));
    
        Collections.sort(lteams, new MyComparator());
    
        for (Team lteam : lteams) {
            System.out.println(lteam.name + ": " + lteam.points + " points");
        }
    }
    

    }

    class MyComparator implements Comparator {
    @Override
    public int compare(Team o1, Team o2) {
        if (o1.getPoints() > o2.getPoints()) {
            return -1;
        } else if (o1.getPoints() < o2.getPoints()) {
            return 1;
        }
        return 0;
    }}
    

    Output:
    Chelsea: 3 points
    Arsenal FC: 2 points
    FC Barcelona: 0 points

提交回复
热议问题