//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;
   }
   
       }
}

转载于:https://www.cnblogs.com/jamin/archive/2009/12/30/1635694.html

java中的List排序[转]相关推荐

  1. java中集合的排序

    java中集合的排序 import java.util.Set; import java.util.HashSet; import java.util.List; import java.util.A ...

  2. java冒泡排序_Java专题(二):Java中常见的排序算法有哪些?---冒泡排序

    排序相关的的基本概念排序: 将一组杂乱无章的数据按一定的规律顺次排列起来. 数据表( data list): 它是待排序数据对象的有限集合. 排序码(key):通常数据对象有多个属性域,即多个数据成员 ...

  3. java中Collections.sort() 排序函数的用法

    java中Collections.sort() 排序函数的用法: 用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** ...

  4. java 中的排序_浅谈java中常见的排序

    浅谈java中常见的排序 学过java的人都知道,排序这一部分初次接触感觉还是有点难以理解,很多地方也会用到.然而,在java中常见的排序方法:冒泡排序,选择排序,插入排序等等.下面就让我们一起揭开他 ...

  5. java中的默认排序规则,C#中列表,集合排序Sort,OrderBy与Java排序规则默认不一致...

    最近遇到一个排序小问题,java中的sort与C#中的Sort排出来结果不一样.后面写了两段小代码,结果确实不一样.var list2 = new List() { "AA",&q ...

  6. Java中常见的排序算法代码演示

    package cn.xbz;import java.util.Arrays;/*** 各种排序法的演示* @author xbz**/ public class ArraySort {public ...

  7. 更高效地刷OJ——Java中常用的排序方法,Array.sort(),Arrays.parallelSort(), Collections.sort()

    对于几大传统的排序算法我在前面博客中已经介绍过了,如果有想要了解的同学可以去看这篇博客八大排序:冒泡排序,选择排序,插入排序,堆排序,希尔排序,归并排序,计数排序但是我们在刷题过程中如果题目中没有对排 ...

  8. JAva中的自然排序是什么意思_Java中的自然排序顺序字符串比较 – 是内置的吗?...

    参见英文答案 > Sort on a string that may contain a number                                    19个 我想要一些保 ...

  9. Java 中使用sort排序

    刷题过程中常常遇到排序问题,Java中自带的sort方法可以非常方便的帮助我们进行排序. 常见的排序问题有两种情形: 1.对一个数组进行排序. 2.对自定义类型的类进行排序. 一,对数组进行排序: 通 ...

  10. java中Collections.sort排序详解

    Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...

最新文章

  1. SQL与NoSQL区别-规范化
  2. linux系统调用和库函数调用的区别
  3. “东湖”的艄公--漫步绍兴(四)
  4. mysql字节对齐_结构体字节对齐(转)
  5. 报告显示,媒体行业已成撞库攻击常见目标
  6. AD19 add pins to nets错误_为什么我认为Rust的Result错误处理方式不如Exception
  7. 课程设计:基于SQL Server的银行ATM 存取款机系统设计与实现
  8. 【C/S】FIPS安全验证问题
  9. Ubuntu 18.04: Debug package with debug symbol
  10. 私密智能搜题小助手,支持智能图片识别和智能复制,支持多接口
  11. 四种大数据分析方法 ,大数据学习入门必须掌握!
  12. OSChina 周五乱弹 —— 企鹅尼克号
  13. android手机分区调整大小写,如何使用PQMagic调整磁盘分区容量大小
  14. OTP(OneTimeProgrammable)开发之义隆仿真器
  15. UE5/C++ 基于GAS创建攻击伤害 5.1.1准备碰撞体
  16. 深入浅出学习Linux(基础知识一)
  17. 【​观察】六脉神剑第四式-全面保障之移形换影
  18. Linux 环境下配置远程jupyter notebook server
  19. SpringBoot+微信支付
  20. 智能家居创意DIY-Homekit智能灯

热门文章

  1. 嵌入式Linux入门13:应用层调试
  2. 我的内核学习笔记1:字符设备完善
  3. 关于/etc/shadow 文件的九段内容的详细解释
  4. python爬取论坛帖子_python爬虫爬取虎扑论坛的帖子名称和链接,为什么只能爬10页就报...
  5. k8s安装读取内核modules_kubespray国内云平台一键部署k8s
  6. 【ES】ES 拼音 Pinyin 分词器
  7. 【hortonworks/registries】Parameter Schema name is null
  8. 【Flink】大数据分析常用去重算法分析『HyperLogLog 篇』
  9. 【Flink】Flink连接prometheus报错 IOException :Response code formxxx/metrics/job/rule
  10. Maven多模块打包遇到的问题详解