Java 中是否存在使用泛型(域模型,而不是持久层)的多对多集合?

2023-12-29

我似乎在谷歌中使用了错误的搜索词......

我已经为多对多关联编写了一个通用类,但我猜这已经完成了。它很可能存在于比我自己的实现更好的实现中。这是我第一次尝试编写通用类。

为了更好地了解我正在寻找的内容,我添加了一些我自己的片段:

我用 2 个哈希图来支持它:

private final Map<T, List<S>> ssForTs = new HashMap<T, List<S>>();
private final Map<S, List<T>> tsForSs = new HashMap<S, List<T>>();

这是实例化:

new ManyToManyAssociations<Integer, Integer>();

一些可用的方法:

  • 公共无效addAssociation(T t,S s)
  • 公共无效删除关联(T t,S s)
  • 公共列表 getListOfTs()
  • 公共列表 getListOfSs()
  • 公共列表 getTsForSs(S s)
  • 公共列表 getSsForTs(T t)

这些方法的名称很糟糕......我很抱歉。

基本用法是: 我可以很容易地找到 T 的所有 S 以及相反的情况。

您可以发布已包含此功能的精美库的链接吗?


到目前为止,这个问题没有我想象的那么简单。我立即想到的两个 Java Collections 扩展是 duffymo 提到的 Google 扩展,以及Apache 共享集合 http://commons.apache.org/collections/。两者都没有多对多映射。用谷歌的术语来说,这将是BiMultiMap;在 Apache 中,这将是BidiMultiMap or MultiBidiMap.

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

Java 中是否存在使用泛型(域模型,而不是持久层)的多对多集合? 的相关文章

随机推荐

  • 在 Haskell 中过滤斐波那契数列

    我正在尝试过滤包含斐波那契数字的列表 我需要的只是奇数 并且小于或等于N 这是我到目前为止所拥有的 fib n n 0 0 n 1 1 otherwise fib n 1 fib n 2 fibs n a a lt fib x x lt 1
  • NodeJS“readline”模块不输出提示

    使用 NodeJS 我试图制作一个 笔记 管理器只是为了好玩 但是当我尝试使用 readline question 来获取用户关于他们想要做什么的输入 即创建一个新笔记 删除一个笔记 则不会显示提示 关于如何解决这个问题有什么建议吗 项目链
  • 在堆栈上分配大于页面大小的缓冲区会损坏内存吗?

    在Windows中 堆栈的实现方式如下 指定的页面后面是提交的堆栈页面 它的保护标志受到保护 因此 当 thead 引用受保护页面上的地址时 会出现内存错误 这使得内存管理器将受保护页面提交到堆栈并清除该页面的受保护标志 然后保留一个新页面
  • Flask-restful 在同一个类中具有 get/ 和 post 与 json

    如果 api add resource User user 则用户的 get 方法有效 该行未注释 另一个 api add resource 是 反之亦然 使 post 方法起作用 我怎样才能让这两条路径都起作用 from flask im
  • 处理命令行参数时清理控制流 [C#]

    我正在处理一个基于命令行参数执行大量 if else 分支的程序 这是 C 语言 但我确信它也适用于 Java C 等 以下是总体概述 if args Length 0 do something if args Length gt 0 ar
  • 无法远程访问9200端口

    刚刚开始使用elasticsearch 5 4 0 首先我将其安装在Mac 本地 上 然后安装在服务器上 在 Mac 中 当我在浏览器中运行 http 本地主机 9200 http localhost 9200 它向我显示输出 name N
  • Json解析Python子进程

    这是代码 inputDomain subprocess Popen cat etc localdomains shell True stdout subprocess PIPE domains inputDomain stdout read
  • 对话框打开时布局混乱

    我面临着一个非常奇怪的错误 其中一个布局的父级是 ConstraintLayout 当对话框打开时 后面的布局会自动开始收缩和移动 请参阅随附的 gif 来了解有关该错误的信息 请检查我的代码 看看我是否做错了什么 这是我的布局
  • 如何动态设置UIScrollView的内容大小

    我有关于UIScrollview 故事是我有一个UIView名为 ChartsView 我通过重写方法自己重新绘制它drawRect 绘图的内容是动态生成的 所以直到运行时我才知道它的大小 问题是如何 在哪里可以动态设置其超级视图 scro
  • PowerShell 中是否提供联合类型

    类型化数组就像 arrIntOnly Int 1 2 3 对于确保所有元素都是有效类型很有用 但是是否可以定义多种类型 例如 arrIntOrString Int String 1 two 3 PowerShell 可以not有联合数据类型
  • 根据同一列表中的下一个项目从列表中删除项目

    我刚刚开始学习 python 这里有一个蛋白质序列的排序列表 总共 59 000 个序列 其中一些是重叠的 我在这里列出了一个玩具清单 例如 ABCDE ABCDEFG ABCDEFGH ABCDEFGHIJKLMNO CEST DBTSF
  • 针对 Android、iPhone 等集成的 .NET Web 服务格式/协议的建议

    我正在为我的 ASP NET MVC 3 网站构建一个 Web 服务 理想情况下 我希望所有客户端 我的网页 iPhone 应用程序 Android 应用程序 Windows Phone 7 应用程序等 使用相同的服务层来加载和保存数据 我
  • Ajax 重新加载后 jQuery mCustomScrollbar 消失

    like here https stackoverflow com questions 13231199 jquery mcustomscrollbar not working on ajax content 24632046 246320
  • 如何在 Cython 中创建固定长度、可变的 Python 对象数组?

    我需要有一个 python 对象数组用于创建 trie 数据结构 我需要一个像元组一样长度固定 像列表一样可变的结构 我不想使用列表 因为我希望能够确保该列表是exactly正确的大小 如果它开始分配额外的元素 随着 trie 变大 内存开
  • 使用 cxf 处理 jax-rs webservice 中的身份验证和授权

    我有一个带有jsps的网络应用程序 我没有使用任何 struts 或 mvc 框架 我们使用 Apache CXF 构建 JAX RS 服务 现在我想做以下事情 允许用户使用用户名和密码登录 对于所有后续对 Web 服务的调用 应使用相同的
  • 取消 RX.Net Observer 正在进行的 OnNext 方法

    正如我原来的问题中所述 参见将相互依赖的事件流与 RX Net 关联起来 https stackoverflow com questions 26640548 correlate interdependent event streams w
  • Objective-C:self = nil 不会将实例设置为空值

    我有下一个代码 非常简单 SecondViewController m if contentRvController nil contentRvController ContentView alloc initWithNibName Con
  • 推送通知的 iOS 设备令牌示例

    我需要通过服务器身份验证方法 该方法需要 deviceToken 进行注册 但我只有模拟器 无法从中获取令牌 并且我想向服务器发送错误令牌 例如 000 000 000 但我不知道设备令牌中有多少位 任何人都可以帮我提供示例设备令牌吗 设备
  • 我应该如何在 App Engine 上进行全文搜索?

    我应该如何做才能在 App Engine 上进行快速全文搜索 同时尽可能少地进行工作 以及尽可能少的 Java 我正在使用 Python 我在最近的一个项目中使用了 Whoosh 和 appengine 它似乎工作得很好 看一下https
  • Java 中是否存在使用泛型(域模型,而不是持久层)的多对多集合?

    我似乎在谷歌中使用了错误的搜索词 我已经为多对多关联编写了一个通用类 但我猜这已经完成了 它很可能存在于比我自己的实现更好的实现中 这是我第一次尝试编写通用类 为了更好地了解我正在寻找的内容 我添加了一些我自己的片段 我用 2 个哈希图来支