问题标签 [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 回答
6964 浏览

java - 用于集合或数组的 Java printf 功能

在 python 中,您可以在格式化的打印语句中使用元组,并且在格式化字符串中的指定位置使用元组值。例如:

有没有办法以类似的方式在 java printf 语句中使用任何数组或集合?

我查看了文档,它似乎内置了对日历等某些类型的支持,但我没有看到任何集合。

如果在 java 中未提供此功能,是否有任何 java 习惯用法可用于在这种情况下填充集合,然后使用一种格式字符串(而不是仅嵌套循环)打印来自许多集合的值?

0 投票
10 回答
56125 浏览

.net - 将集合项复制到 .NET 中的另一个集合

在 .NET (VB) 中,如何获取一个集合中的所有项目,并将它们添加到第二个集合中(而不会丢失第二个集合中预先存在的项目)?我正在寻找比这更有效的东西:

我的集合是泛型集合,继承自基类 -- Collection(Of )

0 投票
10 回答
28864 浏览

java - 为什么首选 Java 类的接口?

PMD将报告以下违规行为:

违规行为是“避免使用像 'ArrayList' 这样的实现类型;改用接口”。

以下行将纠正违规行为:

为什么要使用后者List而不是ArrayList

0 投票
1 回答
4932 浏览

.net - 如何在不枚举的情况下将泛型字典转换为非泛型?

我想将泛型IDictionary的实例转换为非泛型IDictionary。我可以在不创建IDictionary的新实例的情况下做到这一点吗?是否有任何框架支持此任务?

我尝试在实现非遗传 IDictionary 的类中包装泛型 IDictionary 但是我发现我还必须以某种方式将泛型 ICollection 转换为非泛型,所以我使用 Mark Gravell 解决方案。

0 投票
12 回答
270167 浏览

.net - HashSet 与 List 性能

很明显,泛型类的搜索性能HashSet<T>高于泛型List<T>类。只需将基于散列的键与List<T>类中的线性方法进行比较。

然而,计算哈希键本身可能需要一些 CPU 周期,因此对于少量项目,线性搜索可以真正替代HashSet<T>.

我的问题:盈亏平衡点在哪里?

为了简化场景(公平起见),让我们假设List<T>该类使用元素的Equals()方法来标识一个项目。

0 投票
8 回答
67820 浏览

c# - 实现线程安全字典的最佳方法是什么?

通过从 IDictionary 派生并定义私有 SyncRoot 对象,我能够在 C# 中实现线程安全字典:

然后我在整个消费者(多个线程)中锁定这个 SyncRoot 对象:

例子:

我能够让它工作,但这导致了一些丑陋的代码。我的问题是,是否有更好、更优雅的方式来实现线程安全字典?

0 投票
2 回答
1407 浏览

c# - WPF 绑定到对象的集合,按 C# 中另一个集合中按顺序存储的 ID 排序

对于那些喜欢谜题的人:我最近遇到了这个问题,相信一定有更好的解决方案。

考虑 :

  • Foo对象的 ObservableCollection称为foos
  • Foo包含一个字符串 ID 字段
  • 我无法控制foos
  • foos会改变

然后:

  • 我有另一个名为sortLikeThis的集合
  • sortListThis包含字符串
  • 字符串是按照foo显示顺序的 ID

加:

  • foos中可能有ID 不在sortLikeThis中的对象。这些需要放在最后。
  • 同样, sortLikeThis中可能有一些字符串不会出现在foos中。

有没有一种很好的方法可以按照 sortLikeThis 中的 ID 定义的顺序绑定到 foos 中的 Foo 对象并在wpf显示这些对象?

0 投票
4 回答
47803 浏览

java - java.util.Collection 的经典集合操作

java.util.Collection 类上的经典集合操作是否有任何内置功能?我的具体实现是针对 ArrayList,但这听起来应该适用于 Collection 的所有子类。我正在寻找类似的东西:

经过一番搜索,我只能找到本土解决方案。另外,我意识到我可能会将“集合”的概念与“集合”的概念混淆,分别不允许和允许重复。也许这真的只是 Set 接口的功能?

如果没有人知道任何内置功能,也许我们可以将其用作标准实践 Java 集合操作代码的存储库?我想这个轮子已经被重新发明了无数次。

0 投票
17 回答
5379 浏览

c# - 让您的收藏成为线程安全的?

在设计集合类时,有什么理由不私下实现锁定以使其线程安全?还是我应该把这个责任留给收藏品的消费者?

0 投票
8 回答
8400 浏览

c# - FOREACH 返回的对象顺序是否稳定?

假设对同一个集合的两次迭代将以相同的顺序返回对象是否安全?显然,假设该集合没有以其他方式改变。