问题标签 [bag]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
14571 浏览

java - 包在Java中作为数组实现

我应该为一个项目实现一个包数据结构(也称为多重集),一个可能有重复的同类值(任何 Java 对象,不包括 null)的无序集合。我已经在互联网上进行了广泛的搜索,但是很难将我的思想包裹在使用数组而不是 List 之类的东西上,并且不太了解在类中使用数组的语法。

我需要实现所有 java.util.Collection,除非通过抛出 UnsupportedOperationException 进行说明。是的,我必须使用一个数组,当我添加它时,容量必须增加 10。我的问题是我不确定如何处理contains方法、clear方法、addAll方法和第二个构造函数。希望我添加的所有其他内容也能顺利运行。我已将 API 定义包含在注释块中。任何输入都会真正帮助我。

正如马克在下面问的那样,我不明白如何通过包来搜索特定元素。

0 投票
18 回答
398309 浏览

java - Hibernate 抛出 MultipleBagFetchException - 不能同时获取多个包

Hibernate 在 SessionFactory 创建期间抛出这个异常:

org.hibernate.loader.MultipleBagFetchException:不能同时获取多个包

这是我的测试用例:

父类.java

子.java

这个问题怎么样?我能做些什么?


编辑

好的,我遇到的问题是另一个“父”实体在我的父级内部,我的真实行为是这样的:

父类.java

另一个父母.java

Hibernate 不喜欢两个集合FetchType.EAGER,但这似乎是一个错误,我没有做不寻常的事情......

删除或解决问题FetchType.EAGER,但我需要它,所以真正的解决方案是使用而不是(感谢Bozho的解决方案)。ParentAnotherParent@LazyCollection(LazyCollectionOption.FALSE)FetchType

0 投票
2 回答
1387 浏览

ruby - Is there a bag implementation in Ruby?

Is there an implementation of the bag collection (a collection like a set, that kept count of how many times an object is inserted)?

0 投票
3 回答
412 浏览

.net - 为什么我要把我的物品放在袋子里?

我刚刚看到一个关于该类的 SO 问题System.Collections.ConcurrentBag<T>,并且我已经看到了ASP.NET MVC 中的ViewBag属性。Controller根据我的经验,我了解到,如果您了解人们编写代码的确切目的,那么使用他们的代码会更容易。我认为它对于 aList<T>或 aDictionary<TKey,TValue>或 aReadOnlyCollection<T>的含义非常直观。Bag另一方面, A不是那么直观。

所以,我的问题是:这个Bag隐喻意味着什么,特别是关于 .NET 框架?

0 投票
1 回答
1310 浏览

nhibernate - NHibernate 集合映射:它是删除和插入而不是更新

我不确定如何映射要更新的集合。我有 2 张桌子:

  • 对象 - 具有 3 个整数的复合 PK
  • ObjectAliases - 具有对象的 FK 和名称的 nvarchar PK,显然名称是唯一的

对象可以有多个别名,但每个对象的别名名称都是唯一的。

所以我需要在我的对象中列出别名,所以我做了:

我的映射是:

我可以毫无问题地从 Aliases 列表中创建和删除对象,Nhibernate 会很好地插入和删除。但是如何重命名别名?我按名称将 FK 命名为 Alias,当我重命名别名时,我希望 NHibernate 执行 sql UPDATE,因此 UPDATE CASCADE 在所有 FK 上执行,并引用新名称。

如果我做:

Nhibernate 将尝试执行 INSERT 而不是 UPDATE .. 我怎样才能让它执行 UPDATE?

谢谢你们。

0 投票
1 回答
637 浏览

.net - 为什么 NHibernate 创建一个没有主键的表?

我们使用 nHibernate 的 schemaExport 类创建数据库。我现在有一个带有属性的类,我们从中生成了 nhibernate 映射。这个类的一部分是:

nHibernate映射的生成部分如下

对于此属性,我们调用时创建的“CMS_PluginInstanceRouteParams”表是正确的:

但我想知道为什么这个表没有主键。生成的结构是数据库结构

列 ParamId 正确地是类 PluginInstance 的表的外键,并且列中的 Param 正确地是存储的属性 RouteParams 的值。

这张表不需要主键吗?是否可以使用 NHibernate.Mapping.Attributes 设置此属性的主键?

0 投票
1 回答
418 浏览

nhibernate - NHibernate + 多对多 + 包 + 映射表

我有以下 3 节课。

当我尝试在fortransaction.Commit()之后执行方法时,出现以下错误,session.SaveOrUpdate()BusinessStream

无法将 NULL 插入 ("DBO"."BUS_STREAM_SCHEME_MAP"."BUS_STREAM_SCHEME_MAP_ID")

HBM 文件,

业务流

方案

BusinessStream_Scheme_Map

我究竟做错了什么?

0 投票
1 回答
939 浏览

hibernate - NHibernate - 将基于不同属性的集合映射到身份

考虑下表:

像这样映射:

如果我得到一个客户,我也会得到一个员工集合,其中 Employee.Client = Client.Id。伟大的。

现在考虑一下:

我想返回一个包含员工集合的客户,其中 Employee.AlternativeClientId = Client.AlternativeId。

我假设关键节点现在将显示:

但除此之外,我很困惑。有一些过滤器可以应用于集合,但是第二版中的员工集可能不是第一版中员工的子集,所以我认为这不是前进的方向。我试过了,但这似乎是一个死胡同。是否有某种方法可以指定查询,但不仅限于具有 ClientId = Client.Id 的员工?

(对于“为什么”:这与不同系统对数据的不同看法有关。)

0 投票
6 回答
939 浏览

java - 第一次实现java接口,编译不成功

我需要使用接口实现一个包数据结构java.util.Collection。我不是就数据结构的实际实现寻求帮助。我只是无法编译我的程序。我只想在开始实际实现方法之前编译接口的空白实现(带有方法的非功能签名)。

编译器在方法的参数中找不到类 E,如add. 我应该为 定义一个类E,还是我不了解 E 实际上是什么?编译器说它找不到类 Collection(在方法的参数中addAll)我是导入java.util.Collection还是我应该知道的其他内容?编译器也不知道class Iterator,我也不知道。

我知道这可能都是初级的,但我昨天通过谷歌等找不到任何东西,我教授的讲座根本不遵循这些项目。我迷路了。谢谢你的帮助!

编辑:另外,我没有对此进行过多搜索,但如果有人能告诉我任何关于“?”的有用信息,例如public boolean addAll (Collection<? extends E> c) {},那将不胜感激。

0 投票
3 回答
1369 浏览

string - How to find all combinations of a multiset in a string in linear time?

I am given a bag B (multiset) of characters with the size m and a string text S of size n. Is it possible to find all substrings that can be created by B (4!=24 combinations) in S in linear time O(n)?

Example:

The fastest solution I found is to keep a counter for each character and compare it with the Bag in each step, thus the runtime is O(n*m). Algorithm can be shown if needed.