List<T> 排序

原创 2015年11月21日 18:46:49

1、重载Collections.sort方法

package com.fang.dbtest;

public class User {
	private Integer id;
	private String name;
	private Integer age;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}

}


package com.fang.dbtest;

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

public class Tests {
	public static void main(String[] arg) {
		List<User> list = new ArrayList<User>();
		User user1 = new User();
		User user2 = new User();
		User user3 = new User();
		user1.setId(1);
		user1.setName("name1");
		user1.setAge(3);
		user2.setId(2);
		user2.setName("name2");
		user2.setAge(2);
		user3.setId(3);
		user3.setName("name3");
		user3.setAge(1);
		list.add(user1);
		list.add(user2);
		list.add(user3);
		// 按照指定的属性升序排序
		Collections.sort(list, new Comparator<User>() {
			public int compare(User arg0, User arg1) {
				return arg0.getAge().compareTo(arg1.getAge());
			}
		});
		for (Iterator<User> it = list.iterator(); it.hasNext();) {
			User user = it.next();
			System.out.println(user.getName());
		}
	}

}

执行结果:

name3
name2
name1



2、就是list泛型中的对象实现Comparable接口:

package com.fang.dbtest;

public class User implements Comparable<User> {
	private Integer id;
	private String name;
	private Integer age;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}
<pre name="code" class="java">        // 按照id 进行排序
	@Override
	public int compareTo(User o) {
		// TODO Auto-generated method stub
		return this.getId().compareTo(o.getId());
	}

}


package com.fang.dbtest;

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

public class Tests {
	public static void main(String[] arg) {
		List<User> list = new ArrayList<User>();
		User user1 = new User();
		User user2 = new User();
		User user3 = new User();
		user1.setId(1);
		user1.setName("name1");
		user1.setAge(3);
		user2.setId(2);
		user2.setName("name2");
		user2.setAge(2);
		user3.setId(3);
		user3.setName("name3");
		user3.setAge(1);
		list.add(user1);
		list.add(user2);
		list.add(user3);
		// 按照指定的属性升序排序
		Collections.sort(list);
		// 反转指定列表中元素的顺序。
		Collections.reverse(list);
		Iterator<User> it = list.iterator();
		while (it.hasNext()) {
			User user = it.next();
			System.out.println(user.getName());
		}
	}

}
执行结果:

name3
name2
name1



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C# 中 List.Sort运用(IComparer<T>)排序用法

在项目中由于要解析一个箱单号,要求从小到大的顺序。由于循环从数据库取出来取得值不是按照从小到大排序的因此需要自己转换下。 本篇文章用到了 ListTSort 方法 (IComparerT)方法重载 ...

List<T>的各种排序方法

转载自:http://www.cnblogs.com/supperwu/archive/2012/06/13/2548122.html 使用第二种委托的方法实现了自己所要的功能。 近日,在工作的时...

List<T>的各种排序方法

近日,在工作的时候遇到要对一个大的List集合进行排序,于是就了解下各种List的排序方法。 首先,排序自然就会想到用Sort方法,看看List的Sort方法各个重载版本: public ...

List<T>的各种排序方法

近日,在面试的时候遇到要对一个大的List集合进行排序,于是就了解下各种List的排序方法。首先,排序自然就会想到用Sort方法,看看List的Sort方法各个重载版本:public void Sor...

List<T>采用delegate快速实现排序、查找等操作

.NET中的List非常方便,但是很遗憾得是没有自带更方便的一些排序、查找函数。比如说,Sort()和Find()方法都包含在List里,但果你想使用,你得自己写函数。这往往会让我们感到不爽。本文告诉...

list<T>排序及思考

排序工具类: import java.lang.reflect.Field; import java.lang.reflect.Method; import java.sql.Timestamp; i...

List<T>的各种排序方法

首先,排序自然就会想到用Sort方法,看看List的Sort方法各个重载版本:

Winform中DataGridView绑定List<T>数据源时,点击DataGridView列头不能自动排序解决方法

*********************************************方法一********************************************* 自定义...

JAVA:List<T> 排序

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

使用Collections.sort(List<T>,Comparator<T>)给List<String>排序(一)

概要 环境 情景 需求 常规的排序方式 自定义的排序方式 总结概要本文章,讲解Collections.sort给List排序的一种情况: List里的内容是整数 环境 eclipse+JDK1.6 情...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)