lambda
foreach
List에 담긴 Transaction
객체에 confirmYn
값을 true
로 변경 후 repository에 저장한다.
plain
for(Transaction transaction: transactions) {
transaction.setConfirmYn(true);
transactionRepository.save(transaction);
}
lambda
transactions.forEach(o -> {
o.setConfirmYn(true);
transactionRepository.save(o);
});
map
List rigGroupUsers
에 담긴 RigGroup
객체의 rigGroupUserId.rigGroupSn
값을 List 형태로 변환한다.
plain
List<Long> rigGroupSns = new ArrayList<>();
for(RigGroupUser rigGroupUser: rigGroupUsers) {
rigGroupSns.add(rigGroupUser.getRigGroupUserId().getRigGroupSn());
}
lambda
rigGroupUsers.stream().map(o -> o.getRigGroupUserId().getRigGroupSn()).collect(Collectors.toList());
mapToLong
rigGpus
에 담긴 RigGpu
객체의 hashrate
의 총 합을 반환한다.
plain
Long sum = 0L;
for(RigGpu rigGpu: rigGpus) {
sum = sum + rigGpu.getHashrate();
}
lambda
rigGpus.stream().mapToLong(RigGpu::getHashrate).sum();
functional interface
confirmYn
이 null
이 아닌 경우 Specification
Interface를 생성하여 반환한다.
plain
Optional<Boolean> confirmYnOptional = Optional.ofNullable(confirmYn);
if (confirmYnOptional.isPresent()) {
return new Specification<RigEvent>() {
@Override
public Predicate toPredicate(Root<RigEvent> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
return criteriaBuilder.equal(root.get(RigEvent_.confirmYn), confirmYnOptional.get());
}
};
} else {
return null;
}
lambda
Optional
.ofNullable(confirmYn)
.map(
o -> (Specification<RigEvent>) (root, query, criteriaBuilder) -> criteriaBuilder.equal(root.get(RigEvent_.confirmYn), o)
).orElse(null);