免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
List 根據(jù)屬性排序
list<Student>的排序,根據(jù)student的屬性進(jìn)行排序;



public class Student {
public Student(int id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
private  int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
@Override
public String toString() {
return "Student [age=" + age + ", id=" + id + ", name=" + name + "]";
}

}
============================================================






import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;


public class Test {
   
    @SuppressWarnings("unchecked")
public static void Sort(List<Student> list, final String method, final String sort){ 
        Collections.sort(list, new Comparator() {            
            public int compare(Object a, Object b) { 
                int ret = 0; 
                try{ 
                    Method m1 = ((Student)a).getClass().getMethod(method, null); 
                   //  或者 getClass().getDeclaredMethod(monthod,new Class[] {參數(shù)類型.class});
                    Method m2 = ((Student)b).getClass().getMethod(method, null);  
                    if(sort != null && "desc".equals(sort))//倒序 
                        ret = m2.invoke(((Student)b), null).toString().compareTo(m1.invoke(((Student)a), null).toString());  
                    else//正序 
                        ret = m1.invoke(((Student)a), null).toString().compareTo(m2.invoke(((Student)b), null).toString()); 
                }catch(NoSuchMethodException ne){ 
                    System.out.println(ne); 
                }catch(IllegalAccessException ie){ 
                    System.out.println(ie); 
                }catch(InvocationTargetException it){ 
                    System.out.println(it); 
                } 
                return ret; 
            } 
         }); 
    } 
 
    
    public static void main(String[] args) {
Student s1=new Student(1,"ajuanjuan",29);
Student s2=new Student(5,"gjuanjuan",28);
Student s3=new Student(8,"tjuanjuan",24);
Student s4=new Student(6,"bjuanjuan",25);
List<Student> list=new ArrayList<Student>();
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
System.out.println("排序之前++++++++++++++");
for(Student s :list){
System.out.println("s+++之前"+s.toString());
}
System.out.println("開始排序++++++++++++++");
//根據(jù)age排序
Sort(list, "getAge","dese" );
System.out.println("排序之后++++++++++++++");
for(Student s :list){
System.out.println("s+++之后"+s.toString());
}
}
 
}

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
list排序取范圍
Java 淺拷貝和深拷貝的理解和實(shí)現(xiàn)方式
java中的反射機(jī)制
14、Hibernate的HQL與QBC檢索
Java基礎(chǔ)-day07-知識點(diǎn)相關(guān)題-自定義數(shù)據(jù)類型&ArrayList
竟然有一半的人不知道 for 與 foreach 的區(qū)別???
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服