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

Java Lambda常用方法(持续更新)

2017-12-12 00:00 471 查看
import java.util.*;
import java.util.stream.Collectors;

public class TestClass {
public static void main(String[] args) {
User user1 = new User(5, "a");
User user2 = new User(2, "a");
User user3 = new User(3, "a");
User user4 = new User(1, "a");
User user5 = new User(4, "a");
List<User> userList = Arrays.asList(user1, user2, user3, user4, user5);
//获取所有ID集合
List<Integer> idList = userList.stream().map(User::getId).collect(Collectors.toList());
//        idList.forEach(System.out::print);
//排序ID
List<User> userList1 = userList.stream().sorted(Comparator.comparingInt(User::getId)).collect(Collectors.toList());
//        userList1.forEach(System.out::println);
//分组
Map<String, Long> map = userList.stream().collect(Collectors.groupingBy(User::getName, Collectors.counting()));
//        System.out.println(map);
//获取id大于2的
List<User> userList2 = userList.stream().filter(user -> user.getId() > 2).collect(Collectors.toList());
//        userList2.forEach(System.out::println);
//获取最大
Integer id = userList.stream().map(User::getId).max(Integer::compareTo).get();
//        System.out.println(id);
//获取最小
Integer id1 = userList.stream().map(User::getId).min(Integer::compareTo).get();
//        System.out.println(id1);
//获取id数量
long count = userList.stream().map(User::getId).count();
//        System.out.println(count);
//总和
int sum = userList.stream().mapToInt(User::getId).sum();
//        System.out.println(sum);
//获取平均值
double d = userList.stream().mapToInt(User::getId).average().getAsDouble()
//        System.out.println(d);
}
}

class User {
public User() {
}

public User(int id, String name) {
this.id = id;
this.name = name;
}

int id;
String name;

public int getId() {
return id;
}

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

public String getName() {
return name;
}

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

@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java8 Stream lambda