1、Staff实体
public class Staff { private String name; private int age; private String address; public Staff() { } public Staff(String name, int age, String address) { this.name = name; this.age = age; this.address = address; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "Staff{" + "name='" + name + '\'' + ", age=" + age + ", address='" + address + '\'' + '}'; }}
2、将字符串列表转换为大写
public class TextJava8Map1 { public static void main(String[] args) { Listalpha = Arrays.asList("a", "b", "c", "d"); // 在Java8之前 List alphaUpper = new ArrayList<>(); for (String s :alpha) { alphaUpper.add(s.toUpperCase()); } System.out.println(alpha); System.out.println(alphaUpper); // Java8 map List collect1 = alpha.stream() .map(String::toUpperCase) .collect(Collectors.toList()); System.out.println(collect1); }}
3、获取List对象列表中某个属性的集合(Developer在博客-Java8比较器)
public class TextJava8Map2 { public static void main(String[] args) { Listdevelopers = Arrays.asList( new Developer("java", new BigDecimal(23231), 32), new Developer("c++", new BigDecimal(32432), 30), new Developer("spring", new BigDecimal(23121), 34) ); // 在Java8之前 List names1 = new ArrayList<>(); for (Developer developer : developers) { names1.add(developer.getName()); } System.out.println(names1); // Java8 map List names2 = developers.stream() .map(developer -> developer.getName()) .collect(Collectors.toList()); System.out.println(names2); }}
4、将一个List对象列表转换为另一个List对象列表
public class TextJava8Map3 { public static void main(String[] args) { Listdevelopers = Arrays.asList( new Developer("java", new BigDecimal(23231), 32), new Developer("c++", new BigDecimal(32432), 30), new Developer("spring", new BigDecimal(23121), 34) ); // 在Java8之前 List staffs = convertToStaff(developers); System.out.println(staffs); // Java8 map List result = developers.stream() .map(developer -> { Staff staff = new Staff(); staff.setName(developer.getName()); staff.setAge(developer.getAge()); if ("c++".equals(developer.getName())) { staff.setAddress("us"); } return staff; }) .collect(Collectors.toList()); System.out.println(result); } private static List convertToStaff(List developers) { List staffs = new ArrayList<>(); for (Developer developer :developers) { Staff staff = new Staff(); staff.setName(developer.getName()); staff.setAge(developer.getAge()); if ("java".equals(developer.getName())) { staff.setAddress("us"); } staffs.add(staff); } return staffs; }}