package com.nstc.test; import java.text.Collator; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * Java提供的List排序方法,是调用了List的父类Collections类中的Sort方法 * Collections.sort()提供两个重载方法: * Collections.sort(list);(Java提供的默认排序方法) * Collections.sort(list, Comparator<T>);(可以自定义排序方法) * * @author changbl * */ public class TestSort { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("王硕"); list.add("李明"); list.add("刘迪"); list.add("刘布"); //默认排序方法 System.out.println("---------------默认排序方法开始-----------------"); Collections.sort(list); for(String name : list){ System.out.print(name+"\t"); } System.out.println(); System.out.println("---------------默认排序方法结束-----------------"); //利用Collator根据语言排序 System.out.println("---------------根据java.util.Locale.ENGLISH排序开始-----------------"); Collections.sort(list,Collator.getInstance(java.util.Locale.ENGLISH)); for(String name : list){ System.out.print(name+"\t"); } System.out.println(); System.out.println("---------------根据java.util.Locale.CHINA排序开始-----------------"); Collections.sort(list,Collator.getInstance(java.util.Locale.CHINA)); for(String name : list){ System.out.print(name+"\t"); } System.out.println(); System.out.println("---------------根据java.util.Locale.CHINA排序结束-----------------"); System.out.println(); System.out.println("【暂时告一段落】"); System.out.println(); List<Integer> list2 = new ArrayList<Integer>(); list2.add(5); list2.add(87); list2.add(54); list2.add(290); Collections.sort(list2, new SequenceRule()); System.out.println("----------------实现自定义排序方法1:----------------"); for(Integer i : list2){ System.out.print(i+"\t"); } System.out.println(); System.out.println("----------------实现自定义排序方法1结束----------------"); } } /** * 实现自定义排序方法1: * 实现Comparator接口,重写compare方法 * @author changbl * */ class SequenceRule implements Comparator<Object>{ @Override public int compare(Object o1, Object o2) { Integer i1 = (Integer)o1; Integer i2 = (Integer)o2; return i1.compareTo(i2); } } /** * 实现自定义排序方法2: * 实现Comparable接口,重写compareTo方法 * @author changbl * */ class SequenceRule2 implements Comparable<Object>{ @Override public int compareTo(Object o) { return 0; } }
对象实现Comparable接口的代码如下:
public class Person implements Comparable<Person> { private String name; private Integer order; /** * @return the name */ public String getName() { return name; } /** * @param name * the name to set */ public void setName(String name) { this.name = name; } /** * @return the order */ public Integer getOrder() { return order; } /** * @param order * the order to set */ public void setOrder(Integer order) { this.order = order; } @Override public int compareTo(Person arg0) { return this.getOrder().compareTo(arg0.getOrder()); } }
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); for (Person p : listA) { System.out.println(p.getName()); } }
相关推荐
java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List<Person> list = getData(); // 获取无序数据 new ...
Java 中 List 排序 Java 中 List 排序是指在数据库中查出来的列表中对不同的字段重新排序。一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的 List 中排序,无疑会提高...
* 对传入的list进行分组排序 * list里面数据格式 [01-01-开头.txt, 01-02-简介.jpg, 11-01-尾声.jpg, 11-03-空白.jpg, 11-04-空白2.jpg, 11-06-空白1.jpg, 11-02-答谢语.txt, 02-01-标题.jpg, 02-09-标题555.jpg, ...
当我们需要对List中的元素进行排序时,`Collections.sort()`方法就派上了用场。这个方法能够根据元素的自然顺序或者自定义的比较器进行排序。本文将深入探讨`Collections.sort()`的使用、原理以及如何自定义排序规则...
本篇文章将详细探讨如何实现MFC List控件的排序功能。 在MFC中,`CListCtrl` 类提供了对列表视图控件的操作接口。列表视图可以显示多项数据,每项数据可以包含多个子项,类似于表格。要实现列表的排序,我们需要...
在处理数据时,我们经常需要对列表中的元素进行排序,这正是"list排序"这一主题的核心内容。本篇文章将深入探讨Python中对列表进行排序的方法,包括内置的`sort()`方法和`sorted()`函数,以及相关的排序算法和优化...
JAVA SortList 通用排序类 从网上搜到一个java 对 List 排序的工具,自己改了下 支持 整数 和 浮点数 比较后排序,浮点数小数部分的有点问题,期待大牛帮忙优化。
一个简单的list排序子类,没有封装。大家可以看看。直接调用即可
java开发,使用list对其进行排序,,易学简单。。。。。。。。。
### c# List类排序方法 #### 一、初始工作与预备知识 在C#中,`List<T>`是一个非常常用的泛型集合类,它提供了动态数组的功能,可以存储任意数量的相同类型元素。当涉及到对List中的数据进行排序时,我们可以采用...
JAVALIST排序.pdf
在.NET框架中,`List<T>`是一个常用的动态数组,它提供了丰富的操作集合的方法,包括排序。当需要自定义排序规则时,我们可以实现`IComparer<T>`接口。`ICompare`通常指的是`IComparer`,这是一个接口,用于比较两个...
在Java编程中,排序是常见的数据处理操作,特别是在处理集合数据结构时,如List。本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和...
Java Collections.sort()实现List排序的默认方法和自定义方法 Java Collections.sort()是Java语言中用于对List进行排序的方法,通过使用这个方法可以对List进行默认排序,也可以根据需要实现自定义的排序规则。 ...
在Duilib中,"DuiList" 是一种常见的控件类型,用于展示可排序的数据列表。本篇文章将详细探讨DuiList的排序功能及其相关知识。 首先,我们要理解DuiList的基本概念。DuiList通常用于显示一系列具有相同结构的项目...
当我们需要对`List`中的元素进行排序时,可以利用Java提供的内置排序机制。本篇将详细介绍如何根据指定字段对`List`中的对象进行排序,以`Student`类为例,假设每个`Student`都有一个`grad`属性表示成绩。 首先,...
“LIST排序”则明确指出了实现的关键功能是列表的排序。 综上所述,`VC中排序功能的list control`是一个自定义的`CListCtrl`类,它扩展了标准`List Control`的功能,允许用户通过点击列标题来对数据进行排序。实现...
java List 排序之冒泡排序实例代码 Java List 排序之冒泡排序实例代码是 Java 语言中实现 List 排序的一种方法。该方法主要使用冒泡排序算法对 List 集合中的元素进行排序。 1.Collections.sort() 排序 ...