Java按照List内存储的对象的某个字段进行排序

关键点:将List内存储的对象实现Comparable类,重写它的compareTo()方法即可

Bean:

package chc;
public class StuVo implements Comparable<StuVo>{
	private String id;
	private String name;
	private Integer age;
	public StuVo(String id, String name, Integer age) {
		this.id=id;
		this.name=name;
		this.age=age;
	}
	public int compareTo(StuVo stu) {
		return this.name.compareTo(stu.getName());
	}
	public String getId() {
		return id;
	}
	public void setId(String 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;
	}
}

Demo:

package chc;

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

public class ArrayListSortDemo {
	public static void main(String[] args) {
		List<StuVo> stuList=new ArrayList<StuVo>();
		StuVo stu=new StuVo("1","h小明",11);
		stuList.add(stu);

		stu=new StuVo("2","d阿熊",15);
		stuList.add(stu);

		stu=new StuVo("3","a张三",10);
		stuList.add(stu);

		stu=new StuVo("4","b李四",15);
		stuList.add(stu);

		Collections.sort(stuList);

		Iterator<StuVo> it =stuList.iterator();
		while(it.hasNext()){
			System.out.println(it.next().getName());
		}
	}
}
时间: 2024-10-21 21:52:32

Java按照List内存储的对象的某个字段进行排序的相关文章

Java中对JSONArray中的对象的某个字段进行排序

需求: 今天调用一个第三方接口,然后返回的是一个josn数组,需要根据里面的"报告日期"报告日期进行由大到小排序,最新的排在前面. 这种别人接口已经开发完成,不能改,所以只有我们自己来排序. 思路一():将josn数组转为list集合,然后获取到里面的每个对象,再获取"报告日期",然后排序,然后对对应的对象排序. 思路二: 实现java的Collections.sort方法,自定义Comparator方法,然后排序. 这样效率比较高. 下面是测试和实现代码. imp

java 16 -11 ArrayList存储自定义对象并增强for遍历

需求:ArrayList存储自定义对象并遍历.要求加入泛型,并用增强for遍历. A:迭代器 B:普通for     C:增强for LinkedList,Vector,Colleciton,List等存储继续练习 增强for是用来替迭代器. 1 package cn_JDK5new; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 6 7 public class ArrListDemo2 { 8 public st

PHP 数组对象 按照某个字段进行排序

function sort($oba, $obb){ if($oba->grade < $obb->grade){ return 1; }elseif ($oba->grade == $obb->grade){ return ($oba->during <= $obb->during) ? 1 : -1; } usort($info, 'sort'); 排序后 原文地址:https://www.cnblogs.com/vinzen/p/10522121.ht

Java Server Pages 内置对象

JSP九大内置对象: a.JSP内置对象是Web容器创建的一组对象,[不使用new关键字]就可以使用的内置对象.例如:out b.JSP九大内置对象: 五大常用对象:   out,request,response,session,application 其余四大对象:   Page,pageContext,exception,config 1.out内置对象: 2.request内置对象,常用方法如下: request 对象是 javax.servlet.httpServletRequest类型

Java基础知识强化之集合框架笔记45:Set集合之TreeSet存储自定义对象并遍历练习1(自然排序)

1. TreeSet存储自定义对象并遍历练习1(自然排序): (1)Student.java: 1 package cn.itcast_05; 2 3 /* 4 * 如果一个类的元素要想能够进行自然排序,就必须实现自然排序接口 5 */ 6 public class Student implements Comparable<Student> { 7 private String name; 8 private int age; 9 10 public Student() { 11 super

Java基础知识强化之集合框架笔记46:Set集合之TreeSet存储自定义对象并遍历练习2(自然排序)

1. TreeSet存储自定义对象并遍历练习2: (1)Student.java 1 package cn.itcast_06; 2 3 /* 4 * 如果一个类的元素要想能够进行自然排序,就必须实现自然排序接口 5 */ 6 public class Student implements Comparable<Student> { 7 private String name; 8 private int age; 9 10 public Student() { 11 super(); 12

Java基础知识强化之集合框架笔记13:Collection集合存储学生对象并遍历

1. Collection集合存储学生对象并遍历: 需求:存储自定义对象并遍历Student(name,age) 分析: (1)创建学生类 (2)创建集合对象 (3)创建学生对象 (4)把学生对象添加到集合对象中 (5)遍历集合 2. 代码示例: Student.java,如下: 1 package cn.itcast_04; 2 3 public class Student { 4 private String name; 5 private int age; 6 7 public Stude

《java入门第一季》之HashSet存储自定义对象问题以及注意事项

上一篇http://blog.csdn.net/qq_32059827/article/details/51578158 写到存储字符串类型的时候出现了无序,而且这个无序不是随机那种无序,它是有一定存储规律的.上次存储的是字符串,那么这里看看存储自定义对象是不是也是同样的规律.其实这里有着很多的问题需要讨论. 存储自定义对象,代码写了出来: import java.util.HashSet; public class HashSetDemo2 { public static void main(

java web 程序---内置对象application的log方法的使用

application的主要方法里,有log方法,是日志文件里可以查看到信息的. 当老师写好代码后,他发现在tomact里的log目录下找不到信息,原因是:我们用myeclipse这个客户端软件,应该把服务器关闭,而是去bin目录下,手动开启服务器 即startup.bat.这个文件,然后在log目录下查到了信息: 这里有截图,我输入的用户名,这里当程序运行后是个空白页面,只有到log目录下才可以查看到信息. 代码: login.jsp ? 1 2 3 4 5 6 7 <body>     &