我会走向何方

我又该走向何方

BlogJava 首页 新随笔 联系 聚合 管理
  15 Posts :: 2 Stories :: 17 Comments :: 0 Trackbacks
StudentDTO.java
package com.fangq.collections;
/**
 * 
 * 
@author fangq
 *
 
*/

public class StudentDTO {
    
private String xm;//姓名
    private String xh;//学号
    private String nl;//年龄
    public String getNl() {
        
return nl;
    }

    
public void setNl(String nl) {
        
this.nl = nl;
    }

    
public String getXh() {
        
return xh;
    }

    
public void setXh(String xh) {
        
this.xh = xh;
    }

    
public String getXm() {
        
return xm;
    }

    
public void setXm(String xm) {
        
this.xm = xm;
    }

    
}

StudentComparator.java
package com.fangq.collections;

import java.util.Comparator;
/**
 * 按dto的某个字段排序
 * 
@author fangq
 *
 
*/

public class StudentComparator implements Comparator{

    
public int compare(Object arg0, Object arg1) {
        
// TODO Auto-generated method stub
        if(arg0 instanceof StudentDTO&&arg1 instanceof StudentDTO){
            StudentDTO dto1 
= (StudentDTO)arg0;
            StudentDTO dto2 
=  (StudentDTO)arg1;
            
int nl1 = Integer.parseInt(dto1.getNl());
            
int nl2 = Integer.parseInt(dto2.getNl());
            
if(nl1<nl2)
                
return -1;
            
else if(nl1==nl2)
                
return 0;
            
else
                
return 1;
            
        }

        
return -1;
    }


    

}

TestComparator.java
package com.fangq.collections;

import java.util.Arrays;

import org.apache.commons.lang.math.RandomUtils;
/**
 *
 * @author fangq
 */
public class TestComparator {
 public static void main(String[] args){
  StudentDTO[] dtos = new StudentDTO[10];
  for(int i=0;i<dtos.length;i++){
   dtos[i] = new StudentDTO();
   dtos[i].setXh("xh"+i);
   dtos[i].setXm("xm"+i);
   dtos[i].setNl(String.valueOf(i+RandomUtils.nextInt(20)));
  }
  System.out.println("排序前===============");
  for(int j=0;j<dtos.length;j++)
  System.out.println("姓名:"+dtos[j].getXm()+"年龄:"+dtos[j].getNl());
  
  Arrays.sort(dtos,new StudentComparator());
  System.out.println("排序后===============");
  for(int k=0;k<dtos.length;k++)
  System.out.println("姓名:"+dtos[k].getXm()+"年龄:"+dtos[k].getNl());
  
 }
}

posted on 2006-08-26 16:10 hama 阅读(1423) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: