zoukankan      html  css  js  c++  java
  • java中的List排序[转]

    //java list 排序
    //关键词: java    list    排序                                          

    //主要用到: Collections.sort方法:

    package com.tom.compare;

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

    public class CompareClient {

     /**
      * @param args
      */
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      List list = new ArrayList();
      list.add(new Content(15000,"1asdfasd5000"));
      list.add(new Content(10000,"10000"));
      list.add(new Content(20000,"20000"));
      list.add(new Content(30000,"30000"));
      list.add(new Content(25000,"25000"));
      list.add(new Content(13000,"13000"));
      list.add(new Content(15000,"15000")); 
      list.add(new Content(89000,"89000"));
     
      ContentComparator comp = new ContentComparator(); 

      Collections.sort(list,comp);
     
      Content content;
      for(int i = 0; i < list.size(); i++){
       content = (Content)list.get(i);
       System.out.println(" content.getName() " + content.getName());
      }

     }

    }
    package com.tom.compare;

    import java.util.Comparator;

    public class ContentComparator implements Comparator {

     public int compare(Object o1, Object o2) {
      // TODO Auto-generated method stub
      Content c1 = (Content) o1;
      Content c2 = (Content) o2;
      if (c1.getKey() > c2.getKey()) {
       return 1;
      } else {
       if (c1.getKey() == c2.getKey()) {
        return 0;
       } else {
        return -1;
       }
      }
     }
    }
    package com.tom.compare;

    public class Content {

     private long key;

     private String name;

     public Content(long key, String name) {
      this.key = key;
      this.name = name;
     }

     public long getKey() {
      return key;
     }

     public void setKey(long key) {
      this.key = key;
     }

     public String getName() {
      return name;
     }

     public void setName(String name) {
      this.name = name;
     }
    }
    结果是:

     content.getName() 10000
     content.getName() 13000
     content.getName() 1asdfasd5000
     content.getName() 15000
     content.getName() 20000
     content.getName() 25000
     content.getName() 30000
     content.getName() 89000

     
     
    另例:

    ListSort.java

    package test.map;

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

    public class ListSort {
         @SuppressWarnings("unchecked")
    public static void main(String[] args){
             ArrayList list = new ArrayList();
             list.add(new Person("lcl",28));
             list.add(new Person("fx",23));
             list.add(new Person("wqx",29));
             Comparator comp = new Comparator(){
            public int compare(Object o1,Object o2) {
                  Person p1=(Person)o1;
                  Person p2=(Person)o2;
                 if(p1.age<p2.age)
                     return 1;
                 else
                     return 0;
                 }
            };
             Collections.sort(list,comp);
            
          
             for(int i = 0;i<list.size();i++){
                 Person p = (Person)list.get(i);
                 System.out.println(p.getName());
             }
         }
         public static class Person {
       
        private int age;
        private String name;
         public Person(String name,int age){
         this.age = age;
         this.name = name;
         }
        public int getAge() {
        return age;
       }
       public void setAge(int age) {
        this.age = age;
       }
       public String getName() {
        return name;
       }
       public void setName(String name) {
        this.name = name;
       }
       
           }
    }

  • 相关阅读:
    2018JAVA面试题附答案
    微服务概述
    Java后台开发面试题总结
    郁金香搜索引擎方案
    单点登录
    Redis为什么是单线程
    数据库原理-范式
    权限分配之一级菜单优化添加和编辑页面图标
    权限分配之一级菜单保留原搜索条件
    django分页的东西, 不详细, 但是也足够了。
  • 原文地址:https://www.cnblogs.com/jamin/p/1635694.html
Copyright © 2011-2022 走看看