集合

定義一個類,有屬性: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);
    }

}

結果爲:
這裏寫圖片描述
實現了升序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章