第一种方法,就是list中对象实现Comparable接口,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
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());
}
} |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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());
}
} |
第二种方法,就是在重载Collections.sort方法,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
public class 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;
}
} |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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());
}
}
|
两次执行的结果都是:
name1
name2
name3
相关推荐
一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List<Map<String, Object>>结果集,如果我们要转化为JavaBean,则需要做一系列的...此工程中就是解决List<Map<String, Object>>转化为JavaBean工具类实现
7_4.有集合A={1,2,3,4}和B={1,3,7,9,11},编写一个应用程序输出A和B交集、并集和差集...编写一个应用程序,要求将LinkedList<E>创建的对象写入到文件,然后读出一个LinkedList<E>对象,并遍历LinkedList<E>节点中的数据
支持一个List<Map>按照MAP中的一个或者多个Key的value值的中英文来排序,自动识别字符和数字(包括[a-zA-z]?[0-9]*)排序
Java集合某个字段按照中文拼音排序是Java开发中经常遇到的问题。对Java集合中的某个字段按照中文拼音排序可以使用多种方法,本文将介绍两种常见的方法。 方法一:使用Comparable接口 在Java中,我们可以使用...
本篇文章将深入探讨如何在`List<String>`中实现日期的升序排序。在实际应用中,我们经常遇到日期字符串格式不一致的情况,这使得直接使用`Collections.sort()`方法进行排序可能会出现问题。为了解决这个问题,我们...
Java中List对象列表实现去重或取出及排序的方法 在Java中,对List对象列表实现去重或取出及排序是一种常见的操作。下面将详细介绍相关的方法和实现。 1. 实体类重写equals和hashCode方法 在Java中,想要去重List...
List<map>,List<Map<String, Object>>,多字段组合排序。提供一个简易的思路,如果需要进行参考。
在Java 8中,将List转换为Map对象是一种非常实用的技术,特别是在处理大规模数据时非常有用。本文将详细介绍在Java 8中将List转换为Map对象的方法,并提供了多种实现方式。 首先,我们需要明确Map的key是什么?在这...
总的来说,`Collections` 类提供的排序功能使得在 Java 中对 `List` 进行操作变得更加便捷,无论是自然排序还是定制排序,都可以轻松实现。同时,随着 Java 8 及更高版本的引入,流API也提供了新的排序方式,开发者...
假设我们有一个`LocalDate`对象的列表`List<LocalDate> dates`,可以使用以下步骤进行排序: ```java List<LocalDate> sortedDates = dates.stream() .sorted(Comparator.naturalOrder()) .collect(Collectors...
java List排序工具类 使用示例: new OrderUtils<Person>().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List<Person> list = getData(); // 获取无序数据 ...
Java 中 List 排序 Java 中 List 排序是指在数据库中查出来的列表中对不同的字段重新排序。一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的 List 中排序,无疑会提高...
8 对List排序 <br>4. 9 HashSet. LinkedHashSet和TreeSet <br>4. 10 列表. 集合与数组的互相转换 <br>4. 11 HashMap. Hashtable. LinkedHashMap和TreeMap <br>4. 12 对Map排序 <br>4. 13 Properties属性文件 <br>第...
List<List<Integer>> lists = new ArrayList<>(); lists.add(IntStream.range(1, 10).boxed().collect(Collectors.toList())); lists.add(IntStream.range(10, 20).boxed().collect(Collectors.toList())); ``` 这里...
在Java编程中,对List进行多个排序和查询条件的处理是一项常见的任务,特别是在处理数据集合时。本篇文章将深入探讨如何使用Java实现这些操作,并基于给出的`GroupFilterSortUtils.java`文件,我们可以推断这是一个...
在Java编程中,排序是常见的数据处理操作,特别是在处理集合数据结构时,如List。本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和...
List<T> dataList = new ArrayList<>(); while (rs.next()) { T data = ...; // 反射或者使用ORM框架如MyBatis获取数据对象 dataList.add(data); } // 计算总记录数 Statement countStmt = conn....
2. **创建数据结构**:为了存储按周分组的数据,我们可以创建一个`Map<YearWeek, List<YourDataType>>`。这里的`YourDataType`是你要分组的具体数据类型,比如用户记录、销售数据等。 3. **数据分组**:遍历数据集...
第5 版 清华大学出版社<br> “SCJP学习指南” 人民邮电出版社<br> “Java 编程思想” 第3版 机械工业出版社<br> 教学内容和要求<br>知识点 重要程度 使用频度 难度<br>Java 入门 高 中 易<br>变量和运算符 高 ...
Java集合框架中的`List`接口和数组(Array)是两种常用的数据结构,它们在处理数据时各有优势。下面我们将深入探讨如何在Java中实现集合的分组与排序。 1. **集合分组**: 集合分组通常涉及到`GroupingBy`操作,这...