Tôi rất mới với các tính năng mới của Java 8. Tôi đang học cách lọc bản đồ theo mục. Tôi đã xem xét this tutorial và this post cho vấn đề của mình, nhưng tôi không thể giải quyết được.Java 8 Lambda, lọc HashMap, không thể giải quyết phương thức
@Test
public void testSomething() throws Exception {
HashMap<String, Integer> map = new HashMap<>();
map.put("1", 1);
map.put("2", 2);
map = map.entrySet()
.parallelStream()
.filter(e -> e.getValue()>1)
.collect(Collectors.toMap(e->e.getKey(), e->e.getValue()));
}
Tuy nhiên, IDE của tôi (IntelliJ) nói "Không thể giải quyết phương pháp 'getKey()'", do đó không có khả năng hãy biên dịch:
Cũng không trợ giúp này:
bất cứ ai có thể giúp tôi để giải quyết vấn đề này? Cảm ơn.
nếu tôi có thể hỏi .. chính xác ** ** là gì .. không thấy nó được khai báo ở bất cứ đâu .. – Olu
@tobias_k, không phải là vấn đề liên quan đến generics. Nó sẽ hoạt động theo http://www.leveluplunch.com/java/examples/filter-map-by-value/ – Daniel
@FlorentBayle thêm phép đúc này (HashMap) giúp! –
Daniel