java - DataSource接口(interface)的HashMap实现: nextRow() method?

标签 java data-structures

我想实现 DataSource接口(interface)(Java 中),除其他外,它允许您获取 nextRow()从数据来看。我最初只是想通过 HashMap 实现数据存储,但从底层数据结构中抽象出来并提供如上所述的接口(interface)会很酷。

这听起来是个好主意吗?提供nextRow() HashMap的方法实现看起来有些困惑 - 我想我需要在数据的 Collection View 上提供一个迭代器。我想我需要提供 resetIterator还有方法吗?

提供更多详细信息:

  • 我在想 newRow()方法将返回 HashMap<String, String>
  • HashMap数据存储的实现将是 HashMap<String, HashMap<String, String>>

非常感谢任何想法和评论!

最佳答案

Map接口(interface)确实通过 .keySet() 公开迭代器, .values() ,和.entrySet()方法。您可以在幕后使用其中之一来完成您的想法。

顺便说一句,每个数据行的 HashMap 会带来很大的开销。如果您可以提前修复一组列,那么使用 List(可能是 ArrayList)甚至只是一个普通数组来表示每一行会便宜得多。

关于java - DataSource接口(interface)的HashMap实现: nextRow() method?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3408291/

相关文章:

java - GWT 多模块项目中的本地化

java - 在Spring AOP中使用@JoinPoint调用Method.invoke()时“对象不是声明类的实例”

c++ - C++ 类层次结构实现中的模糊链接器错误

c++ - 堆实现

java - 在切换期间存储变量更改 [Java]

Java 堆栈溢出错误 - 如何在 Eclipse 中增加堆栈大小?

java - 如何将 Spring Retry 与 AsyncRestTemplate 集成

algorithm - 什么数据结构可以有效地减少哈希表桶中的锁定成本?

java - 在Java中使用for循环创建映射时,Kep的值始终保持为0

data-structures - 你会在 python 中使用什么 `n to n` 关系?