【发布时间】:2019-03-29 20:49:10
【问题描述】:
我正在实现自己的 hashmap,尽可能使用流。 我想不出 isEmpty() 的正确语法。
我尝试了多种形式:
return buckets.entrySet().stream().forEach(List::isEmpty());
下面是部分代码:
public class HashMap<K, V> implements Map<K, V> {
private static final int DEFAULT_CAPACITY = 64;
private List<List<Entry<K, V>>> buckets;
private int modCount = 0;
private KeySet keySet;
private EntrySet entrySet;
private ValuesCollection valColl;
//CTOR
public HashMap() {
buckets = new ArrayList<>(DEFAULT_CAPACITY);
for (int i = 0; i < DEFAULT_CAPACITY; ++i) {
buckets.add(i, new LinkedList<Entry<K, V>>());
}
}
}
我想写一个简单的流,比如:
return buckets.stream().mapToInt(List::size).sum();
对于 isEmpty()。
【问题讨论】:
标签: java hashmap java-stream