第一种方法,就是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
相关推荐
在数据库中查出来的列表list中,往往需要对不同的字段重新排序,一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的list中排序,无疑会提高系统的性能。
JAVA SortList 通用排序类 从网上搜到一个java 对 List 排序的工具,自己改了下 支持 整数 和 浮点数 比较后排序,浮点数小数部分的有点问题,期待大牛帮忙优化。
java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List<Person> list = getData(); // 获取无序数据 new ...
java实现中文排序,按数字字母汉字的顺序进行排序
天才之作:通过泛型,对List中对象多属性排序,支持设置各属性排序方式(动态属性),看了之后绝对让你震撼!
NULL 博文链接:https://xuedong.iteye.com/blog/1147254
java 集合分组排序帮助类有好的意见可以互相交流不甚感激
java集合某个字段按照中文拼音排序 java集合某个字段按照中文拼音排序
java开发,使用list对其进行排序,,易学简单。。。。。。。。。
java 使用Collections类对List的排序操作 java 使用Collections类对List的排序操作
有时候我们可能有这样的需求:将一个List按照某个字段进行排序。比如现在有多个Student,我们要将这些学生按照成绩(grad)进行排序,本demo就是一个将List排序的demo
list集合树状排序 对于前端jquery-treetable无法进行父子关联数据问题进行改进,后台传list集合前,对list进行排序,然后在返回到前台。
主要介绍了java 中List按照date排序的实现的相关资料,需要的朋友可以参考下
java中按找对象的某个属性进行升序降序的排序
* 对传入的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, ...
在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[] arrays = new String[] { gyu, sdf, zf, 大同, 收到, 地方, 三等分, 的人, 反对高铁, 泛代数, 上的投入...
java代码-使用java解决list(Map)排序的问题源代码 ——学习参考资料:仅用于个人学习使用!
主要介绍了关于java中List对象列表实现去重或取出以及排序的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
主要为LIST对象中的指定字段排序 首先比较年龄,如果年龄相同,则比较名字
NULL 博文链接:https://singhoo.iteye.com/blog/1717722