java:list排序

第一种方法:就是list中对象(bean文件)实现Comparable接口,代码如下:

package com.mapred.entity;

public class Bar implements Comparable<Bar>{
	private String id;
	private String hexValue  ;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getHexValue() {
		return hexValue;
	}
	public void setHexValue(String hexValue) {
		this.hexValue = hexValue;
	}
	 @Override
	public int compareTo(Bar arg0) {
	    return this.getId().compareTo(arg0.getId());
	}
}

 调用

	StringBuffer buffer = new StringBuffer("");
		 Collections.sort(list);
		for(int i=0;i<list.size();i++){
			Bar bar=list.get(i);
			String lineHex=bar.getHexValue();
			buffer.append(lineHex);
		}

第二种方法,就是在重载Collections.sort方法,代码如下:

public class Person {
    private String name;
    private Integer order;
     public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public Integer getOrder() {
        return order;
    }
    public void setOrder(Integer order) {
        this.order = order;
    }
}

  调用

public static void main(String[] args) {
        List<Person> listA = new ArrayList<Person>();
        Person p1 = new Person();
        Person p2 = new Person();
        Person p3 = new Person();

        p1.setName("name1");
        p1.setOrder(1);
        p2.setName("name2");
        p2.setOrder(2);
        p3.setName("name3");
        p3.setOrder(3);

        listA.add(p2);
        listA.add(p1);
        listA.add(p3);

        Collections.sort(listA, new Comparator<Person>() {
            public int compare(Person arg0, Person arg1) {
                return arg0.getOrder().compareTo(arg1.getOrder());
            }
        });

        for (Person p : listA) {
            System.out.println(p.getName());
        }
    }

  

 

时间: 2024-09-30 21:29:58

java:list排序的相关文章

java Map排序(升序、降序、随机排序)

基础知识: 1 HashMap会使用key,根据hashcode进行默认排序. 2  LinkedHashMap根据存入先后进行排序 代码展示: 1 随机排序 java Map排序(升序.降序.随机排序),布布扣,bubuko.com

Java-集合--Java集合排序

Java集合排序 前几天在工作的当中遇到对List<Map<String,String>>这样的数据结构按照Map<String,String>中的某个字段排序, 具体的实现为: <span style="font-size:18px;">public void sortList(List<Map<String, String>> list, final String field) { Collections.so

Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法

Java 常用排序算法/程序员必须掌握的 8大排序算法 本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配排序(基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序. 先来看看 8种排序之间的关系: 1.直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2]

java编程排序之自定义类型的集合,按业务需求排序

自定义引用类型放入集合中,按实际业务需求进行排序的两种思路 第一种思路: (1)自定义实体类实现java.lang.Comparable接口,重写public int compareTo(Object obj)方法.自定义业务比较规则 (2)利用java.util.Collections类的静态方法sort(List<自定义类型> list)进行排序(默认升序)或者.自己编写排序工具类.冒泡+compareTo(obj)方法 第二种思路 (1)自己编写业务比较规则类.实体类不用实现任何借口.业

java希尔排序算法

原文:java希尔排序算法 代码下载地址:http://www.zuidaima.com/share/1550463279090688.htm 希尔排序算法的基本思想是:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组.所有距离为dl的倍数的记录放在同一个组中.先在各组内进行直接插人排序:然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dt=1(dt<dt-l<-<d2<d1),即所有记录放在同一组中进行直接插入排序为止.该方法实质上是一种

Java对象排序小测试

import java.util.ArrayList; import java.util.Collections; import java.util.List; /**  * Java对象排序  */ public class User implements Comparable<User> {     private int idx;     public User(int idx) {         this.idx = idx;     }     public int getIdx(

Java集合排序

java集合排序 如何给Java中List集合排序呢?前端时间在工作中遇到类似于给这样的结构排序List<Map<String,String>>>按照其中Map中的某个key值排序呢? 集合产生如下: <span style="font-size:18px;">public void sortList(){ List<List<Map<String,String>>> list = new ArrayList

java选择排序

/** * Created by rabbit on 2014-5-9. */ class ArrayTest2 {     public static void SelectSort(int [] arr) //定义选择排序的方法     {         for (int x=0;x<arr.length;x++)         {             for (int y=0;y<arr.length-1;y++)             {                 if

使用JAVA进行排序

利用JAVA完成排序 当我们在进行数据库进行查询的时候,当需要按某个字段来进行排序的时候,可以使用SQL语句来完成排序,可以升序,也可以降序.JAVA中的Collections类也可以完成这种操作,SQL的用法和这种集合工具类的操作,可以用于不同的情况中,至于怎么用,可以根据业务场景来选择,下面我罗列出具体的代码,大家可以参考. 1)创建工程名为sort的JAVA工程 创建包结构: 创建User类: 1 package com.sunyard.bean; 2 3 /** 4 * <p> 5 *

java桶式排序算法代码下载

原文:java桶式排序算法代码下载 代码下载地址:http://www.zuidaima.com/share/1550463272176640.htm 桶式排序: * 桶式排序不再是基于比较的了,它和基数排序同属于分配类的排序, * 这类排序的特点是事先要知道待排 序列的一些特征. * 桶式排序事先要知道待排 序列在一个范围内,而且这个范围应该不是很大的. * 比如知道待排序列在[0,M)内,那么可以分配M个桶,第I个桶记录I的出现情况, * 最后根据每个桶收到的位置信息把数据输出成有序的形式.