java中list根据指定条件排序(Java对List排序最简单的方法)
java中list根据指定条件排序(Java对List排序最简单的方法)public static void main(String[] args) { List<Map<String Object>> list = new ArrayList(){{ add(new HashMap(){{ put("name" "张三"); put("age" 20); }}); add(new HashMap(){{ put("name" "李四"); put("age" 10); }}); add(new HashMap(){{ put(
收藏、点赞等于学会[小鼓掌]
本人不喜欢废话,直接上代码
对简单数组排序public static void main(String[] args) {
//构造一个简单的List集合
List<Integer> list = new ArrayList(){{
add(3);
add(2);
add(4);
add(1);
}};
//使用Java8的Stream对集合升序
List<Integer> listNew = list.stream().sorted().collect(Collectors.toList());
System.out.println("升序结果:");
listNew.forEach(item-> System.out.println(item));
System.out.println("====================");
//反转-升序改降序
Collections.reverse(listNew);
System.out.println("反转降序结果:");
listNew.forEach(item-> System.out.println(item));
//或者直接使用Comparator.reverseOrder()降序
//List<Integer> listNew = list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
}
以上代码执行结果:
@Data
@AllArgsConstructor
public class ProjectBean {
@ApiModelProperty(value = "项目名称")
private String projectName;
@ApiModelProperty(value = "进度")
private Integer plan;
}
public static void main(String[] args) {
//一个包含ProjectBean对象的数组
List<ProjectBean> projectBeanList = new ArrayList(){{
add(new ProjectBean("项目1" 3));
add(new ProjectBean("项目2" 10));
add(new ProjectBean("项目3" 1));
add(new ProjectBean("项目4" 5));
}};
System.out.println("排序前:");
System.out.println(projectBeanList);
System.out.println();
//对ProjectBean对象中的plan字段进行排序-升序
List<ProjectBean> listNew = projectBeanList.stream().sorted(Comparator.comparing(ProjectBean::getPlan)).collect(Collectors.toList());
System.out.println("升序:");
System.out.println(listNew);
System.out.println();
//反转-降序
Collections.reverse(listNew);
System.out.println("降序:");
System.out.println(listNew);
System.out.println();
//stream直接降序
listNew = projectBeanList.stream().sorted(Comparator.comparing(ProjectBean::getPlan).reversed()).collect(Collectors.toList());
System.out.println("降序:");
System.out.println(listNew);
}
以上代码输出结果:
public static void main(String[] args) {
List<Map<String Object>> list = new ArrayList(){{
add(new HashMap(){{
put("name" "张三");
put("age" 20);
}});
add(new HashMap(){{
put("name" "李四");
put("age" 10);
}});
add(new HashMap(){{
put("name" "王五");
put("age" 50);
}});
}};
System.out.println("排序前:");
System.out.println(list);
System.out.println();
//按照map中age字段进行排序,升序
Collections.sort(list new Comparator<Map<String Object>>() {
public int compare(Map<String Object> o1 Map<String Object> o2) {
Integer fromline1 = Integer.valueOf(String.valueOf(o1.get("age")));
Integer fromline2 = Integer.valueOf(String.valueOf(o2.get("age")));
return fromline1.compareTo(fromline2);
}
});
System.out.println("升序:");
System.out.println(list);
System.out.println();
//按照map中age字段进行排序,降序
Collections.sort(list new Comparator<Map<String Object>>() {
public int compare(Map<String Object> o1 Map<String Object> o2) {
Integer fromline1 = Integer.valueOf(String.valueOf(o1.get("age")));
Integer fromline2 = Integer.valueOf(String.valueOf(o2.get("age")));
return fromline2.compareTo(fromline1);
}
});
System.out.println("降序:");
System.out.println(list);
}
以上代码输出内容:
关注作者,了解程序员圈子,认识更多程序员朋友。