首页 > 代码库 > java中对List中对象排序实现

java中对List中对象排序实现

package com.test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;



public class NewsManager {

    /**
     * @param args
     */
    public static void main(String[] args) {

        List newss=getNewsList();
        
        for(int i=0;i<newss.size();i++)
        {
            News news=(News)newss.get(i);
            
            System.out.println("id:"+news.getId());
            System.out.println("title:"+news.getTitle());
            System.out.println("hits:"+news.getHits());
            
        }

    }
    
    
    public static List getNewsList()
    {
        
        List list=new ArrayList();
        
        News news1=new News();
        news1.setHits(1);
        news1.setId(1);
        news1.setTitle("test1");
        list.add(news1);
        
        News news2=new News();
        news2.setHits(7);
        news2.setId(2);
        news2.setTitle("test2");
        list.add(news2);
        
        News news3=new News();
        news3.setHits(3);
        news3.setId(3);
        news3.setTitle("test3");
        list.add(news3);
        
        News news4=new News();
        news4.setHits(5);
        news4.setId(4);
        news4.setTitle("test4");
        list.add(news4);
        
        
        // 按点击数倒序
        Collections.sort(list, new Comparator<News>() {
            public int compare(News arg0, News arg1) {
                int hits0 = arg0.getHits();
                int hits1 = arg1.getHits();
                if (hits1 > hits0) {
                    return 1;
                } else if (hits1 == hits0) {
                    return 0;
                } else {
                    return -1;
                }
            }
        });
        
        return list;
    }

}

 

java中对List中对象排序实现