我想实现一个DataSource
接口(在Java中),除其他外,它允许您从数据中获取nextRow()
。我最初只想通过HashMaps实现数据存储,但是从底层数据结构中抽象出来并提供如上所述的接口将会很酷。
这听起来像个好主意吗?为nextRow()
实现提供HashMap
方法似乎有些混乱 - 我想我需要在数据的集合视图上提供迭代器。我想我还需要提供resetIterator
方法吗?
提供更多详情:
newRow()
方法会返回HashMap<String, String>
HashMap
数据存储的实施将为HashMap<String, HashMap<String, String>>
非常感谢任何想法和评论!
答案 0 :(得分:0)
Map接口确实通过.keySet(),.values()和.entrySet()方法公开了迭代器。你可以在幕后使用其中一个来做你想到的事情。
另外,每个数据行的HashMap需要大量开销。如果您可以提前修复一组列,那么使用List(可能是ArrayList)或甚至只是一个普通数组来表示每一行会便宜很多。