Tag: 集合

字典返回一个默认值,如果该键不存在

现在我发现自己在我的代码中经常使用当前的模式 var dictionary = new Dictionary<type, IList<othertype>>(); // Add stuff to dictionary var somethingElse = dictionary.ContainsKey(key) ? dictionary[key] : new List<othertype>(); // Do work with the somethingelse variable 或者有时候 var dictionary = new Dictionary<type, IList<othertype>>(); // Add stuff to dictionary IList<othertype> somethingElse; if(!dictionary.TryGetValue(key, out somethingElse) { somethingElse = new List<othertype>(); } 这两种方式都觉得很迂回。 我真正想要的是类似的东西 dictionary.GetValueOrDefault(key) 现在,我可以为字典类写一个扩展方法,但是我想我可能会丢失已经存在的东西。 […]

在C#中有一个HashSet的AddRange等价物吗?

有了清单,你可以做: list.AddRange(otherCollection); HashSet中没有添加范围方法。 将另一个集合添加到HashSet的最佳方法是什么?

如何将设置转换为数组?

设置似乎是一个很好的方式来创build具有保证独特元素的数组,但它并没有公开任何好的方法来获取属性,除了generator [Set] .values,这是以一种尴尬的方式调用mySet.values.next() 。 如果你可以在集合上调用map和类似的函数,这将是可以的。 但是你也做不到。 我已经尝试了Array.from ,但似乎只将数组(像NodeList和TypedArrays?)对象转换为数组。 另一个尝试: Object.keys不能用于集合,并且Set.prototype没有类似的静态方法。 所以,问题: 是否有任何方便的内置方法创build一个给定的值的数组? (元素的顺序并不重要)。 如果没有这样的select,那么也许有一个很好的惯用的单线程来做到这一点? 喜欢, for…of或类似的?

如何快速方便地创build一个元素arraylist

是否有一个实用程序的方法可以做到这一点在1行? 我无法在Collections或List任何位置find它。 public List<String> stringToOneElementList(String s) { List<String> list = new ArrayList<String>(); list.add(s); return list; } 我不想重新发明轮子,除非我打算把它放在花哨的边缘。 那么…types可以是T ,而不是String 。 但你明白了。 (所有的空检查,安全检查等)

Apache Commons与Guava(前身为“Google Collections”)

我正在寻找在Java中的双向映射实现,偶然发现这两个库: Apache Commons集合 番石榴 (以前称为“Googlecollections”) 两者都是免费的,有我正在寻找的双向地图实现(Apache中的BidiMap,Google中的BiMap),几乎相同的尺寸(Apache 493 kB,Google 499 kB)[编辑:不再是真的!在所有方面都与我很相似。 我应该select哪一个,为什么? 还有其他一些等同的select(必须是免费的,至less有双向映射)? 我正在使用最新的Java SE,所以不需要人为限制Java 5或类似的东西。

将Set <String>转换为List <String>的最简洁的方法

我目前正在这样做: Set<String> setOfTopicAuthors = …. List<String> list = Arrays.asList( setOfTopicAuthors.toArray( new String[0] ) ); 你能打败吗?

如何将集合转换为列表?

我正在使用Apache Collections库中的TreeBidiMap 。 我想对这个doubles的价值进行分类。 我的方法是检索一个值的Collection使用: Collection coll = themap.values(); 这自然工作正常。 主要问题:我现在想知道如何将转换/转换(不知道哪个是正确的) coll到一个List以便它可以被sorting? 然后我打算遍历sortingTreeBidiMap List对象,它应该是按顺序的,并使用themap.getKey(iterator.next())从TreeBidiMap ( themap )中获取适当的键,其中迭代器将位于doubles列表之上。

Java:从集合中获取第一项

如果我有一个集合,比如Collection<String> strs ,我怎样才能得到第一个项目呢? 我可以调用一个Iterator , next()的第next() ,然后抛出Iterator 。 有没有更浪费的方式来做到这一点?

Scala中一个Seq和一个List之间的区别

我曾经在很多例子中看到有时会使用Seq,而其他时间则是List … 除了前者是Scalatypes还是来自Java的List之外,有什么区别吗?

从集合中获取元素

为什么不提供一个操作来获取一个元素,等于另一个元素? Set<Foo> set = …; … Foo foo = new Foo(1, 2, 3); Foo bar = set.get(foo); // get the Foo element from the Set that equals foo 我可以问Set是否包含一个等于bar的元素,那么为什么我不能得到这个元素? 🙁 澄清, equals方法被覆盖,但它只检查其中一个字段,而不是全部。 所以两个被认为相等的Foo对象实际上可以有不同的值,这就是为什么我不能使用foo 。