Java中对ArrayList进行排序
来源:互联网 发布:db2 sql 正则表达式 编辑:程序博客网 时间:2024/05/19 23:59
今天遇到需要对List进行排序的需求,虽然自己可以写算法实现排序,但是追求效率还是选择最常用的Java自带的方法进行排序,主要是利用Collections.sort(Object o,Comparator c),代码如下:
package com.wistron.ets.wh.edu.ass.core.common;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;/** * @ClassName: TestList * @Description: TODO(这里用一句话描述这个类的作用) * @author WH1405010 杨孙 * @date 2014年11月5日 下午2:59:30 * */public class TestList {public static void main(String[] args) {// 测试数据Test t1 = new Test(6, "A1");Test t2 = new Test(1, "A2");Test t3 = new Test(3, "A3");Test t4 = new Test(4, "A6");Test t5 = new Test(4, "A5");Test t6 = new Test(4, "A4");List<Test> list = new ArrayList<Test>();list.add(t1);list.add(t2);list.add(t3);list.add(t4);list.add(t5);list.add(t6);// 排序,通过泛型和匿名类来实现Collections.sort(list, new Comparator<Test>() {public int compare(Test o1, Test o2) {// 首先按照Id排序int result = o1.getId() - o2.getId();// Id相同时按照Name排序if (result == 0) {result = o1.getName().compareTo(o2.getName());// System.out.println(result);}return result;}});// 打印结果for(Test test : list){System.out.println("id=" + test.getId() + ";name=" + test.getName()); }}}// 测试的内部类class Test {private int id;private String name;public Test(int id, String name) {this.id = id;this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
打印结果如下:
id=1;name=A2
id=3;name=A3
id=4;name=A4
id=4;name=A5
id=4;name=A6
id=6;name=A1
new Comparator<Test>()可以写成内部类的形式,如果需求的排序比较复杂的话。另外,排序的另一种实现方式是让需要排序的类实现Comparable接口,然后调用以下代码:
Collections.sort(list);
0 0
- java中对ArrayList进行排序
- Java中对ArrayList进行排序
- java中对ArrayList进行排序
- java中使用sort()对ArrayList进行排序
- 对ArrayList中某一元素进行排序
- java对arrayList中的元素进行排序
- JAVA中对ArrayList的排序
- JAVA对ArrayList排序
- JAVA对ArrayList排序
- JAVA对ArrayList排序
- JAVA对ArrayList排序
- JAVA对ArrayList排序
- JAVA对ArrayList排序
- *使用Java语言实现对ArrayList进行排序
- Java中对ArrayList中POJO的排序
- java中ArrayList排序
- java中ArrayList排序
- 对ArrayList的自定义元素进行排序
- GDI图形绘制
- 正则表达式.
- EJB到底是什么
- C++字符串操作函数
- Android、iOS和Windows Phone中的推送技术
- Java中对ArrayList进行排序
- CCNA学习笔记Day6
- hibernate事务与并发
- C++资源大全
- win7 获得文件夹权限
- malloc_free排序小程序
- UT4412BV03 开发板快速上手操作指南
- 第十五章之普通菜单
- Kinect开发笔记之(三)Kinect开发学习资源整理