我正在尝试实现一个数据库支持java.util.Map
,像 put 和 get 之类的大部分接口都很容易实现,但是我在找出实现的最佳方法时遇到了麻烦:
@Override
public Set<K> keySet() {
// TODO Auto-generated method stub
return null;
}
@Override
public Collection<V> values() {
// TODO Auto-generated method stub
return null;
}
@Override
public Set<Map.Entry<K, V>> entrySet() {
// TODO Auto-generated method stub
return null;
}
我担心的是键和值可能数以百万计的记录。因此,当访问这些方法时,我认为它的内存和 cpu 无法有效地获取和存储所有“键”或“值”。
有哪些选项可以实现内存有效的方式来实现这些?
为 entrySet 实现迭代器的策略是什么?