问题标签 [generic-collections]

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 回答
2221 浏览

java - Class的Java泛型映射到解析器

我有一个解析数据流的类。每个数据块称为一个Box. Boxes有很多种。我想Parser为每种类型的盒子设置不同的。所以基本上我需要一个Registry或类似的东西,让我为每个Box. 这是我的问题的简化版本:

如果您使用该代码并尝试编译它,您会看到以下错误:

GenericsTest.Parser 类型中的方法 parse(capture#4-of ? extends GenericsTest.Box) 不适用于参数 (capture#5-of ? extends GenericsTest.Box)

那么问题来了,如何

与......不同

?

而且,有没有比我的Registry方法更好的方法不需要使用@SuppressWarnings( "unchecked" )?

0 投票
4 回答
126 浏览

c# - 在 C# 中转换泛型类型

我有一个像下面这样的结构。我在返回通用集合时遇到了一些麻烦。我错过了什么?

0 投票
2 回答
186 浏览

c# - 类 ObservableDictionary: 字典作为数据合同

如何装饰

作为DataContract(或类似的东西)在WCF服务中?

0 投票
2 回答
703 浏览

c# - 我如何使用在哪里编译时 T 未知时的扩展方法

我正在使用 JSON 编写 C# MVC 应用程序,并尝试使用 EF 将 JSON 检索回数据库。

不幸的是,我不会让这样的代码工作:

我在哪里实现了这个:

问题是 NewValueSubCollection 的类型是:IEnumerable<object>当我希望我可以IEnumerable<MyListObjectType>通过我的 Where 扩展时……。然后我在运行时遇到了一个异常: System.ArgumentException: 'TOId' is not a member of type 'System.Object'

如果我使用:

我收到以下代码的编译错误:

0 投票
2 回答
1897 浏览

java - 多参数搜索,java集合选择建议

在下面描述的情况下我应该使用什么数据结构:

我有一个简单的豆子:

我想创建几个bean并将它们存储在某种数据结构中。并且能够使用两个参数进行搜索 - 名称和地址。

例如,用户输入“7” - 它会返回几个对象,哪个名称或地址包含该字符?

我应该使用什么数据结构以及如何搜索它?

如果它很重要,我实际上需要将它实现到我的 android 应用程序中——我想在地图上搜索我的点此外,到目前为止我不想创建一个数据库,因为它们只有 20 个。

非常感谢您提前。

0 投票
1 回答
187 浏览

c# - 从通用列表中删除集合对象

很抱歉再次发布这个问题,因为我认为我已经解决了这个问题!!!我需要收集分配给特定角色的用户,其中角色是一个以用户为属性的实体。我的目标是从该角色中删除分配的用户并为该角色插入新分配的用户我应用了以下代码,我无法删除分配给该角色的用户:

以及如何插入新分配的用户,其中我有一个角色 ID 和用户 ID 列表作为字符串数组。

0 投票
1 回答
482 浏览

java - Java:了解泛型数组的类型擦除

我想知道我是否正确理解了以下 Java 问题。给定一个通用集合,如果我这样做

代码中断,抛出异常: java.lang.ClassCastException: [Ljava.lang.Object; 不能转换为 [Ljava.lang.Comparable;

但是,如果我更改this.array = (V[]) new Object[10];this.array = (V[]) new Comparable[10];then 它可以工作。

我理解它的方式是,编译后生成的字节码将没有任何通用引用,因为它们被 Java 的类型擦除所取代。

this.array = (V[]) new Object[10];中断,因为该行将被隐式替换,this.array = (Comparable[]) new Object[10];然后将导致强制转换异常,因为 Object 不扩展 Comparable。它通过将其更改为 Comparables 数组来解决。

这个对吗?谢谢!

0 投票
3 回答
10063 浏览

java - 用泛型和集合实现 compareTo()

我正在使用集合,但我无法弄清楚......我想基于 Node 类中的“数据”变量覆盖 compareTO() 方法......这样我就可以调用 collection.sort() 来对数组列表进行排序......

0 投票
1 回答
2183 浏览

delphi - 为 TObjectList 实现自定义二进制搜索(德尔福 XE)

我需要在使用自定义比较器的 TObjectList 上实现二进制搜索,我相信使用 TCustomComparer。

目标:二分查找返回列表中符合特定属性参数的实例。

例如:

或者简单地说:

我想循环并取回列表中也有 Index==1 的 TMyClass 实例。

在 C++ 中,重载 '==' 运算符可实现此目标。

新的 Delphi '帮助'相当稀少,分散在周围,很难找到,而且我对新的 Delphi 泛型的所有细微差别都不是很熟悉。

那么 - 我如何使用 Generics.TObjectList 在 Delphi XE 中做到这一点?

(使用德尔福 XE)。

TIA

0 投票
2 回答
717 浏览

c# - 字典, 列表和其他集合实现/运行时

我想知道是否有任何好的参考资料(网站甚至更好的书),我可以在其中找到有关常用集合的内部实现的信息,例如

  • Dictionary<TKey, TValue>
  • List<T>
  • Queue<T>
  • Stack<T>
  • 等等

通过内部实现,我的意思是他们如何使用动态数组来存储数据,他们多久调整一次大小,常见操作的时间和空间复杂度是多少。

当然,如果有人认为他可以在此线程中提供此信息,我们非常欢迎您!