是否有一个Java Collection(或类似的)行为类似于auto-id SQL表?

前端之家收集整理的这篇文章主要介绍了是否有一个Java Collection(或类似的)行为类似于auto-id SQL表?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请注意,我实际上并没有在这里使用数据库,因此ORM工具可能不是我想要的.

我想要一些容器,每个容器包含许多对象,一个容器中的所有对象都是同一个类.容器应该显示数据库表的一些行为,即:

>允许其中一个对象的字段用作唯一键,即.即在该字段中具有相同值的其他对象不会添加到容器中.
>在接受新对象时,容器应发出一个返回给insert方法调用者的数字id.

当请求“重复条目”时,容器应该跳过插入并返回已存在对象的密钥,而不是抛出错误.

现在,我将编写一个通用容器类,它接受实现接口的对象以获取键字段的值,并使用以这些值键入的HashMap作为实际存储类.有没有更好的方法使用现有的内置类?我正在浏览HashSet之类的东西,但它们似乎并不合适.

解决方法

没有任何Collections类可以满足您的需求.你必须自己写!

附:您还需要确定您的类是否是线程安全的.

P.P.S. ConcurrentHashMap很接近,但并不完全相同.如果你可以对它进行子类化或包装,或者包装进入你的地图的对象,这样你只依靠那个类来实现线程安全,那么你将拥有一个高效且线程安全的实现.

猜你在找的Java相关文章