您的位置:首页 > 编程语言 > Java开发

Java,list按照元素属性排序

2018-01-19 11:03 447 查看
分别按照Integer的Id,String的Name排序package com.main;

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

public class Main {
public static void main(String[] args) {

System.out.println("a".compareTo("b"));

List<Unit> list = new ArrayList<>();
list.add(new Unit(2, "zhangsan"));
list.add(new Unit(3, "lisi"));
list.add(new Unit(1, "wangwu"));
Main main = new Main();
main.sortListById(list);
main.sortListByName(list);
System.out.println("");
}

private void sortListById(List<Unit> list) {
Collections.sort(list, new Comparator<Unit>() {
@Override
public int compare(Unit o1, Unit o2) {
if (o1.getId() > o2.getId()) {
return 1;
} else if (o1.getId() < o2.getId()) {
return -1;
} else {
return 0;
}
}
});
}

/**
* 与下面的方法同义
*
* @param list
*/
// private void sortListByName(List<Unit> list) {
// Collections.sort(list, new Comparator<Unit>() {
// @Override
// public int compare(Unit o1, Unit o2) {
// if (o1.getName().compareTo(o2.getName()) > 1) {
// return 1;
// } else if (o1.getName().compareTo(o2.getName()) < -1) {
// return -1;
// } else {
// return 0;
// }
// }
// });
// }
private void sortListByName(List<Unit> list) {
Collections.sort(list, new Comparator<Unit>() {
@Override
public int compare(Unit o1, Unit o2) {
return o1.getName().compareTo(o2.getName());
}
});
}

}
package com.main;

/**
* Title: Unit
* Description:
*
* @date 2018/1/19 10:32
*/
public class Unit {

private Integer id;
private String name;

public Unit(Integer id, String name) {
this.id = id;
this.name = name;
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java list 元素 属性 排序