자바에서 컬렉션 프레임워크(collection framework)
란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다.
즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다.
이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현된다.
적용 사례
@Transactional
public Integer save(User user, List<Book> books) {
Integer paymentNo = bookPaymentRepository.countBy() + 1;
books.forEach(book -> {
bookPaymentRepository.save(
new BookPayment(
null,
paymentNo,
user,
book,
book.getPrice(),
LocalDateTime.now(),
PaymentType.BOOK,
PaymentStatus.WAIT
)
);
});
return paymentNo;
}
상단의 코드는 필자의 프로젝트 진행 중 도서결제에 대한 로직이다.
도서는 한 번에 여러 개의 도서를 구매할 수 있기 때문에 n번 save되는 반복문 로직이 구현되어야 한다.
기존에는 for i 문을 써서 직접 인덱스 변수 및 반복조건을 관리했었다.
Collection Framework List의 forEach 메서드를 사용하게 되면서 코드를 명시적이고 직관적인 방식으로 작성할 수 있었다.
따라서, 코드의 가독성과 간결성이 높아진다.