Java内存中类似SQL表的数据结构

2024-06-23

有几次我想要一个类似于 SQL 表的数据结构 您可以在其中选择各个字段和多个字段。与内存中的 SQL 实现类似,只是我不想在数据结构中存储那么多对象。

我还要求该对象可以通过标准 Java 方式进行序列化。

我之前曾使用多个哈希表或自定义哈希键完成此操作,但最终会出现大量代码并且问题非常具体。

我还使用了 Groovy 及其闭包功能和 gpath 来提供帮助,但我并不总是可以使用它(不同的项目)。

编辑:我认为我的问题更多的是对象遍历/选择问题 以下是一些有趣的项目:

  • http://josql.sourceforge.net/ http://josql.sourceforge.net/
  • http://homepages.mcs.vuw.ac.nz/~djp/JQL/ http://homepages.mcs.vuw.ac.nz/~djp/JQL/
  • http://today.java.net/pub/a/today/2006/08/03/java-object-querying-using-jxpath.html http://today.java.net/pub/a/today/2006/08/03/java-object-querying-using-jxpath.html
  • http://code.google.com/p/lambdaj/ http://code.google.com/p/lambdaj/(我过去用过这个,它很慢......)
  • http://jedi.codehaus.org/ http://jedi.codehaus.org/ Jedi

然而,大多数这些项目的缺点是它们比直接访问对象(非反射 getter/setter)慢得多,并且肯定比索引(哈希)慢。


JavaDB http://www.oracle.com/technetwork/java/javadb/overview/index.html and HSQLDB http://hsqldb.org/等拥有完全内存数据库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java内存中类似SQL表的数据结构 的相关文章

随机推荐

  • 需要用于 C#.Net 的 Google Talk API

    有人知道 C Net 的 Google Talk Api 吗 请帮忙 查看面向开发者的 Google Talk http code google com intl nl NL apis talk 它使用可扩展消息传递和状态协议 XMPP 最
  • 装修工合同

    合同 以函数作为参数并返回函数的函数 即传递函数的修改 或相同 版本 传递的函数 这里是 square 例如 floatify def square n return n n 装饰器是否应该只返回传递函数的装饰版本 而不返回其他内容 它应该
  • 如何在 Android 的 YouTube 播放器中隐藏 YouTube 徽标

    我不想在我的 Android 应用程序中分享 youtube 视频 但是当我单击 youtube playe 中的 youtube 徽标时 链接会转到 youtube 网站 那么 我如何在 youtube 播放器中隐藏 youtube 徽标
  • Android:我如何知道CSS注入是否完成?

    我仅在将 CSS 文件注入 HTML 后才尝试显示我的 webview 我尝试将其放在 onPageCommitVisible 函数上 但它仅适用于 23 个 api 及以上 有人知道如何仅在 CSS 加载完成后才显示 webview 吗
  • 使用 Akka 将文件从服务器流式传输到客户端

    基本上我想允许用户从服务器下载 csv 文件 假设服务器上已存在 CSV 文件 API 端点通过 GET export 公开 如何将文件从 Akka HTTP 服务器流式传输到客户端 这就是我到目前为止所拥有的 Service def ex
  • Java 确保库位于路径环境变量中

    我正在开发一个 Java 应用程序 它使用访问 Windows dll 的外部 jar 文件 如果我将 DLL 的路径放入 Windows 路径环境变量中 应用程序可以正常运行 但我真的不想在部署此应用程序的每台计算机上都设置此 Windo
  • 未找到 ffmpeg 命令,但 pip 列表显示 ffmpeg

    我一直在尝试使用命令安装 ffmpegpip install ffmpeg我正在没有 sudo 权限的服务器上执行此操作 在编写 ffmpeg 时 我得到 ffmpeg command not found 然后我检查了pip list它显示
  • 是否可以重新映射“wq”来保存并关闭当前缓冲区,而不是在 Vim 中保存并退出?

    Vim 新手 当我发出 wqEx 命令 我想让它只保存并关闭活动缓冲区 而不是保存它然后从 Vim 退出 同样 我想做 q命令与 bd在其效果中 对于如何实施这种行为有什么建议吗 Vim 允许用户在所有模式下为命令添加键映射 包括命令行模式
  • 使用 pytest 装置进行的测试可以交互运行吗?

    我有一些使用 pytest 和装置编写的测试 例如 class TestThing pytest fixture def temp dir self request my temp dir tempfile mkdtemp def fin
  • 转义片段中的 $ 字符

    我发现自己这些天做了很多 jQuery 所以我开始将一些常见的事情抽象成片段 我期待与社区分享这些内容 但我现在遇到了一个问题 代码片段中的文字是通过在文字名称周围添加美元符号 来定义的 以界定您想要提供的值的去向 这很困难 因为 jQue
  • 如何添加 UICollectionView 标题

    我希望以编程方式向我的 UICollectionView 添加标签 并使用 viewForSupplementaryElementOfKind 和 referenceSizeForHeaderInSection 来设置它 但是由于某种原因
  • 如何修复未捕获的 InvalidValueError: setPosition: not a LatLng or LatLngLiteral: in property lat: not a number?

    我正在尝试将我的 googlemaps v2 功能移植到 v3 但不知怎的 我陷入了一个奇怪的错误 我找不到我做错了什么 错误 未捕获 InvalidValueError setPosition 不是 LatLng 或 LatLngLite
  • 检测 iframe 加载错误

    我正在使用 src 属性将用户选择的页面加载到 iframe 中 如果加载失败 我想以对用户有意义的方式报告问题 iframe 通常不支持 onerror 根据http www w3schools com jsref dom obj fra
  • 将数组的逆序附加到自身

    我创建了一个颜色值数组 表示颜色从红色到蓝色的平滑过渡 现在我希望这个数组能带你从红色到蓝色 然后再返回 显而易见的解决方案是将数组的反转追加到数组中 我已经编写了代码来执行此操作 但它没有按照我理解的方式工作 相反 它会重复创建反向数组
  • Winforms 多线程:每次在 UI 线程上调用方法时是否需要创建一个新的委托?

    我想调用一个在 UI 线程上操作控件的方法 我的代码可以运行并且我想优化 我指的是这个MSDN 上的资源 http msdn microsoft com en us library 757y83z4 28VS 71 29 aspx 根据那里
  • 定时器运行后在JS setTimeout中添加持续时间

    我正在尝试找出一种模拟 AS3 的 Timer 类的方法 如果您不熟悉 您可以做的一件很酷的事情就是为计时器添加持续时间 即使它已经在运行 这个功能有很多非常好的用途 有人对用 js 做这个有什么想法吗 我不熟悉这个类 但你可以轻松地在 J
  • 在 Java 语言规范版本 11 的 4.10.2 节中,如何读取 Uₖ θ?

    我知道一个该领域的上一个问题 https stackoverflow com questions 51434267 confusion over generics subtyping in java specs但您会注意到原始发帖者问题的根
  • 文件头中 shebang 的用法:是否有任何选项可以在 shebang 中传递多个参数

    我使用不同的命名空间来执行 python 文件 使用 shebang hashbang 来执行此脚本 bin bash c 面临的问题是 shebang 只接受一个参数 即使我传递多个参数 它也会将其视为单个字符串 舍邦使用 sbin ip
  • 从代码中覆盖 OMP_NUM_THREADS - 真正的

    到目前为止我能找到的所有答案都建议致电omp set num threads 虽然对于大多数情况来说这是一个正确的答案 但它对我不起作用 在内部 调用omp set num threads导致创建每线程 ICV 或修改 如果当前线程已经有一
  • Java内存中类似SQL表的数据结构

    有几次我想要一个类似于 SQL 表的数据结构 您可以在其中选择各个字段和多个字段 与内存中的 SQL 实现类似 只是我不想在数据结构中存储那么多对象 我还要求该对象可以通过标准 Java 方式进行序列化 我之前曾使用多个哈希表或自定义哈希键