Lần thử đầu tiên của tôi với java 8 luồng ...java 8 - luồng, bản đồ và số khác biệt
Tôi có Giá thầu đối tượng, biểu thị giá thầu của người dùng cho một mặt hàng trong phiên đấu giá. tôi có một danh sách giá thầu và tôi muốn tạo bản đồ tính số lượng người dùng đã đặt giá thầu bao nhiêu (khác biệt).
đây là quan điểm của tôi về nó:
bids.stream()
.collect(
Collectors.groupingBy(
bid -> Bid::getBidderUserId,
mapping(Bid::getAuctionId, Collectors.toSet())
)
).entrySet().stream().collect(Collectors.toMap(
e-> e.getKey(),e -> e.getValue().size())
);
Nó hoạt động, nhưng tôi cảm thấy như tôi đang lừa dối, nguyên nhân i dòng bộ entry của bản đồ, thay vì thực hiện một thao tác trên dòng đầu tiên. .. phải là một cách chính xác hơn để làm điều này, nhưng tôi không thể hình dung nó ra ...
Cảm ơn
Bạn có thể đưa tuyên bố của bạn về đối tượng giá thầu không? – Nick