本文将工作中使用的方法,和他人的文章,进行针对性的整合
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);