标签:
Java中对单个字段或多个字段进行排序
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * @date: 2015年6月19日 上午10:11:44 */ public class CollectionTest { /** * 主方法 * * @param args * 参数 * @modify by user: {修改人} 2015年6月19日 * @modify by reason:{原因} */ public static void main(String[] args) { List<CollectionTest.Man> mans = new ArrayList<CollectionTest.Man>(); CollectionTest collectionTest = new CollectionTest(); Man man = collectionTest.new Man(); man.setParentId(11); man.setAge(12); man.setName("某某1_孩子"); Man man2 = collectionTest.new Man(); man2.setParentId(2); man2.setAge(13); man2.setName("某某2_孩子"); Man man3 = collectionTest.new Man(); man3.setParentId(2); man3.setAge(16); man3.setName("某某1_孩子"); mans.add(man); mans.add(man2); mans.add(man3); sortAge(mans); System.out.println("*****根据年龄排序********"); System.out.println(mans.toString()); sortParentIdAge(mans); System.out.println("*****根据父ID,年龄排序********"); System.out.println(mans.toString()); } /** * 根据父ID,年龄进行排序 * * @param mans * 人列表 * @modify by user: {修改人} 2015年6月19日 * @modify by reason:{原因} */ private static void sortParentIdAge(List<Man> mans) { Collections.sort(mans, new Comparator<Man>() { @Override public int compare(Man o1, Man o2) { if (o1.getParentId().equals(o2.getParentId())) { return o1.getAge().compareTo(o2.getAge()); } else { return o1.getParentId().compareTo(o2.getParentId()); } } }); } /** * 根据父ID排序 * * @param mans * @modify by user: {修改人} 2015年6月19日 * @modify by reason:{原因} */ private static void sortAge(List<Man> mans) { Collections.sort(mans, new Comparator<Man>() { @Override public int compare(Man o1, Man o2) { return o1.getAge().compareTo(o2.getAge()); } }); } public class Man { private Integer parentId; private Integer age; private String name; /** * 获取parentId * * @return parentId parentId */ public Integer getParentId() { return parentId; } /** * 设置parentId * * @param parentId * parentId */ public void setParentId(Integer parentId) { this.parentId = parentId; } /** * 获取age * * @return age age */ public Integer getAge() { return age; } /** * 设置age * * @param age * age */ public void setAge(Integer age) { this.age = age; } /** * 获取name * * @return name name */ public String getName() { return name; } /** * 设置name * * @param name * name */ public void setName(String name) { this.name = name; } /** * @return * @modify by user: {修改人} 2015年6月19日 * @modify by reason:{原因} */ @Override public String toString() { return "Man [parentId=" + parentId + ", age=" + age + ", name=" + name + "]"; } } }
标签:
原文地址:http://blog.csdn.net/baidu_18607183/article/details/46559113