累加
// 获取合计
JSONObject finalV = v;
AtomicReference<Integer> sum = new AtomicReference<>(0);
v.keySet().stream().forEach(key->{
Object o = finalV.get(key);
if(o instanceof Integer){
sum.updateAndGet(v1 -> v1 + (Integer) o);
}
});
v.put("hj", sum.get());
AtomicReference类提供了一个可以原子读写的对象引用变量。 原子意味着尝试更改相同AtomicReference的多个线程(例如,使用比较和交换操作)不会使AtomicReference最终达到不一致的状态。 AtomicReference甚至有一个先进的compareAndSet()方法,它可以将引用与预期值(引用)进行比较,如果它们相等,则在AtomicReference对象内设置一个新的引用。
分页
public static void main(String[] args) {
int pageNo = 1;
int pageSize = 5;
List<Integer> list = Arrays.asList(11,22,1,333,1, 2, 3, 4, 5, 6, 7);
int start = pageNo <= 1 ? 0 : (pageNo - 1)*10;
List<Integer> collect = list.stream().sorted().skip(start).limit(pageSize).collect(Collectors.toList());
System.out.println(collect);
}