collections集合操作排序,Java8 stream集合操作
2018-04-04 15:57
651 查看
/** * */ package com.wen; import java.math.BigDecimal; /** * @author wencun * @date 2018年2月22日 上午9:49:37 * @version 1.0 * @since JDK 1.8 */ public class Staff { private String name; private int age; private BigDecimal salary; /** * @return the name */ public String getName() { return name; } /** * @param name the name to set */ public void setName(String name) { this.name = name; } /** * @return the age */ public int getAge() { return age; } /** * @param age the age to set */ public void setAge(int age) { this.age = age; } /** * @return the salary */ public BigDecimal getSalary() { return salary; } /** * @param salary the salary to set */ public void setSalary(BigDecimal salary) { this.salary = salary; } /** * @param name * @param age * @param salary */ public Staff(String name, int age, BigDecimal salary) { super(); this.name = name; this.age = age; this.salary = salary; } /* (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { return "Staff [name=" + name + ", age=" + age + ", salary=" + salary + "]"; } }
package com.wen; import java.math.BigDecimal; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; /** * @author wencun * @date 2018年2月22日 上午9:48:01 * @version 1.0 * @since JDK 1.8 */ import org.junit.Test; public class TestJava8 { @Test public void java8() throws Exception { List<Staff> asList = Arrays.asList(new Staff("小明", 18, new BigDecimal(2000)), new Staff("小明1", 33, new BigDecimal(22020)), new Staff("小明2", 44, new BigDecimal(2800)), new Staff("小明3", 23, new BigDecimal(2700)), new Staff("小明4", 21, new BigDecimal(2600)), new Staff("小明5", 10, new BigDecimal(2000)), new Staff("小明6", 56, new BigDecimal(21000)), new Staff("小明7", 49, new BigDecimal(12000))); List<Integer> list=Arrays.asList(3,41,23,65,12,77,33, 1,4); Collections.sort(list); System.out.println("顺序"+list); Collections.reverse(list); System.out.println("倒序"+list); Collections.shuffle(list); System.out.println("混序"+list); List<Integer> collect = asList.stream().map(e->e.getAge()).collect(Collectors.toList()); System.out.println("年龄集合"+collect); List<BigDecimal> collect2 = asList.stream().map(Staff::getSalary).collect(Collectors.toList()); System.err.println("工资集合"+collect2); asList.sort(new Comparator<Staff>() { @Override public int compare(Staff o1, Staff o2) { return o1.getAge()-o2.getAge(); } }); System.out.println("对象集合按年龄排序"+asList); Collections.sort(collect); System.out.println("年龄排序"+collect); } }结果:
顺序[1, 3, 4, 12, 23, 33, 41, 65, 77] 倒序[77, 65, 41, 33, 23, 12, 4, 3, 1] 混序[65, 77, 1, 3, 33, 23, 12, 4, 41] 年龄集合[18, 33, 44, 23, 21, 10, 56, 49] 工资集合[20 4000 00, 22020, 2800, 2700, 2600, 2000, 21000, 12000] 对象集合按年龄排序[Staff [name=小明5, age=10, salary=2000], Staff [name=小明, age=18, salary=2000], Staff [name=小明4, age=21, salary=2600], Staff [name=小明3, age=23, salary=2700], Staff [name=小明1, age=33, salary=22020], Staff [name=小明2, age=44, salary=2800], Staff [name=小明7, age=49, salary=12000], Staff [name=小明6, age=56, salary=21000]] 年龄排序[10, 18, 21, 23, 33, 44, 49, 56]
相关文章推荐
- java集合操作的包装类Collections(包含集合的排序)
- 用Java集合中的Collections.sort方法对list排序的两种方法
- java基础集合操作工具类Collections简述(java集合四)
- Java 操作集合的工具类:Collections
- java 集合框架(TreeSet操作,自动对数据进行排序,重写CompareTo方法)
- 初学Java,集合类的排序,查找,替换操作
- java 集合中的Collections.sort()排序方法的源码分析(一)
- Java基础知识强化之集合框架笔记69:Collections类之ArrayList存储自自定义对象并排序的案例
- 第8章 Java集合—Collections操作集合的工具类
- 初学Java,集合类的排序,查找,替换操作(三十五)
- java-Collections的sort集合排序方法
- 黑马程序员——java集合元素排序存储操作
- java8新特性Predicate和Stream操作集合
- Java Collections.sort方法对list集合排序
- Java中的Collections用来给集合排序
- Java Collections.sort方法对list集合排序
- java集合排序——Collections.sort()的两种用法
- Java基础之(三十四)操作集合的工具类:collections
- 用Java集合中的Collections.sort方法对list排序的两种方法
- JAVA对list集合进行排序Collections.sort()