Questions tagged «collections»

集合API为开发人员提供了一组类和接口,使处理对象集合更加容易。

8
实现线程安全字典的最佳方法是什么?
通过从IDictionary派生并定义私有SyncRoot对象,我能够在C#中实现线程安全的Dictionary: public class SafeDictionary<TKey, TValue>: IDictionary<TKey, TValue> { private readonly object syncRoot = new object(); private Dictionary<TKey, TValue> d = new Dictionary<TKey, TValue>(); public object SyncRoot { get { return syncRoot; } } public void Add(TKey key, TValue value) { lock (syncRoot) { d.Add(key, value); } } // more IDictionary …

15
HashMap的构建器
Guava为Java类型提供了很棒的工厂方法,例如Maps.newHashMap()。 但是,还有Java Maps的构建器吗? HashMap<String,Integer> m = Maps.BuildHashMap. put("a",1). put("b",2). build();
109 java  collections  guava 

8
将范围添加到集合
一位同事今天问我如何将范围添加到集合中。他有一个继承自的类Collection<T>。有一个该类型的get-only属性,其中已经包含一些项目。他想将另一个集合中的项目添加到属性集合中。他如何以C#3友好的方式这样做?(请注意有关“仅获取”属性的约束,该约束会阻止执行Union和重新分配之类的解决方案。) 当然,与财产有关。添加将起作用。但是,List<T>风格的AddRange会更加优雅。 编写扩展方法很容易: public static class CollectionHelpers { public static void AddRange<T>(this ICollection<T> destination, IEnumerable<T> source) { foreach (T item in source) { destination.Add(item); } } } 但是我有种自己在重新发明轮子的感觉。我没有发现任何类似的System.Linq或morelinq。 设计不好?只需致电添加?缺少明显之处?


8
我如何在声明它的同一行中初始化一个C#列表。(IEnumerable字符串收集示例)
我正在写我的测试代码,但我不想写: List<string> nameslist = new List<string>(); nameslist.Add("one"); nameslist.Add("two"); nameslist.Add("three"); 我很想写 List<string> nameslist = new List<string>({"one", "two", "three"}); 但是{“一个”,“两个”,“三个”}不是“ IEnumerable字符串集合”。如何使用IEnumerable字符串集合在一行中初始化它?

8
从groovy中的列表创建地图的快捷方式?
我想要一些排序方法: Map rowToMap(row) { def rowMap = [:]; row.columns.each{ rowMap[it.name] = it.val } return rowMap; } 鉴于GDK的工作方式,我希望能够做类似的事情: Map rowToMap(row) { row.columns.collectMap{ [it.name,it.val] } } 但我没有在文档中看到任何内容...我缺少什么吗?还是我太懒了?


22
将List <Integer>转换为List <String>
我有一个整数列表,List&lt;Integer&gt;我想将所有整数对象都转换为String,从而以new结束List&lt;String&gt;。 自然地,我可以创建一个新的List&lt;String&gt;并遍历列表以调用String.valueOf()每个整数,但是我想知道是否有更好的方法(阅读:更自动化)?


6
javascript对象中的元素数
有没有办法(从某处)获取javascript对象中元素的数量?(即恒定时间复杂度)。 我找不到检索该信息的属性或方法。到目前为止,我只能考虑对整个集合进行迭代,但这是线性时间。 奇怪的是,您无法直接访问对象的大小。 编辑: 我说的是Object对象(不是一般对象): var obj = new Object ;





7
C#中的双向1对1字典
我在C#(2)中寻找通用的双向1对1字典类,即。一个BiDictionaryOneToOne&lt;T, S&gt;这是保证仅包含每个值和密钥中的一个(最多RefEquals反正),并且其可以使用任一键或值被搜索。任何人都知道一个,还是我应该自己实施?我不敢相信我是第一个需要这个的人... 这个问题的答案中有一个BiDictionary ,但它不是针对唯一元素的(并且也不实现RemoveByFirst(T t)或RemoveBySecond(S s))。 谢谢!
98 c#  .net  collections 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.