定義一個類,有屬性: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);
}
}
結果爲:
實現了升序