lambda的简单使用

本文将工作中使用的方法,和他人的文章,进行针对性的整合

1.对JSONArray的指定字段进行排序

//正序
jsonArr.sort(Comparator.comparing(e->((JSONObject) e).getDate("createTime")));
//倒序
jsonArr.sort(Comparator.comparing(e->((JSONObject) e).getDate("createTime")).reversed());

2.对ArrayList<bean>中的bean的某一字段进行排序

Collections.sort(list,(a,b)->(a.getCreateTime()).compareTo(b.getCreateTime()));

3.对数组的排序

Arrays.sort(players, (String s1, String s2) -> (s1.compareTo(s2))); 

==等于

String[] userIds = {"11","22","33","44","55"};
Arrays.sort(userIds , new Comparator<String>() {  
    @Override  
    public int compare(String userId1, String userId2) {  
        return (userId1.compareTo(userId2));  
    }  
}); 

4.filter、count、allMatch、anyMatch的使用

如:查看list<bean>的某个bean的某个字段值是否为某值

if(list.stream().filter(e->"xxxxx".equals(e.getUserId())).count()==0){
    
}

5.allMatch、anyMatch的使用

//判断都满足
if(list.stream().allMatch(e->"xxxxx".equals(e.getUserId())){

}
判断有一个满足
if(list.stream().anyMatch(e->"xxxxx".equals(e.getUserId())){

}

6.list的forEach的使用

list.stream().forEach(e->{

});

7.limit方法的使用

list.stream().filter(e->e.getNum>500).limit(3).forEach(e->{

});

8.map方法使用

list.stream().filter((User user) ->  user.getAge() > 20).map((User user) -> {return "50";});

9.list<bean>根据某一字段排序,获取最大值和最小值

User user = list.stream().min((user1, user2) -> (user1.getNum() - user2.getNum())).get();
User user = list.stream().max((user1, user2) -> (user1.getNum() - user2.getNum())).get();

10.collect的使用

说明:该部分较为复杂,如有需要,请自行学习。

将list的stream转为list

list.stream().collect(Collectors.toList());

11.List的值进行求和

将List<String>的值进行求和,其中list的值为数字
int sum = list.stream().mapToInt(new ToIntFunction<String>() {
	@Override 
	public int applyAsInt(String value) {
		return Integer.valueOf(value);
	} 
}).sum();

12.关于线程

1.Thread

new Thread(() -> System.out.println("Hello, I'm fracong!")).start();  

==等于

new Thread(new Runnable() {  
    @Override  
    public void run() {  
        System.out.println("Hello, I'm fracong!");  
    }  
}).start();

2.Runnable

Runnable run1 = () -> System.out.println("Hello, I'm fracong!"); 

==等于

Runnable run2= new Runnable() {  
    @Override  
    public void run() {  
        System.out.println("Hello, I'm fracong!");  
    }  
};  

13.System.out的使用

List<String> list = new ArrayList<String>();
list.stream().forEach(System.out::println);

猜你喜欢

转载自blog.csdn.net/m0_37356874/article/details/91448626