集合

来源:互联网 发布:淘宝购物车营销不见了 编辑:程序博客网 时间:2024/06/10 10:16

定义一个类,有属性:name:String,age:int,salary:double
将其放入list中,排序遍历输出,按照age升序输出。
分析:
在此题中,需要将类实现Comparable接口,重写compareTo()方法,方可实现。

package test;import java.util.*;public class MapTest implements Comparable<MapTest>{    private String name;    private int age;    private double salary;    public MapTest() { //无参构造方法        // TODO Auto-generated constructor stub    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public double getSalary() {        return salary;    }    public void setSalary(double salary) {        this.salary = salary;    }    //有参构造方法    public MapTest(String name, int age, double salary) {        super();        this.name = name;        this.age = age;        this.salary = salary;    }    @Override    public String toString() {        return "MapTest [name=" + name + ", age=" + age + ", salary=" + salary                + "]";    }    //重写compareTo()方法    @Override    public int compareTo(MapTest o) {        if(o.age>this.age){              return -1;          }else if(o.age>this.age){              return 0;          }else{              return 1;          }      }//主方法public static void main(String args[]) {    MapTest m1=new MapTest("lulu",20,600.3);        MapTest m2=new MapTest("lele",21,600.3);        MapTest m3=new MapTest("fage",18,600.3);        MapTest m4=new MapTest("wanghao",22,600.3);        List l= new ArrayList();        l.add(m4);        l.add(m3);        l.add(m2);        l.add(m1);        for (int i = 0; i < l.size(); i++) {            Collections.sort(l);////通过Collections类的sort()方法排序          //遍历          }        System.out.println(l);    }}

结果为:
这里写图片描述
实现了升序