Questions tagged «collections»

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


4
如何按值对Counter排序?-蟒蛇
除了执行反向列表理解的列表理解之外,还有一种Python方式可以按值对Counter进行排序吗?如果是这样,它比这更快: >>> from collections import Counter >>> x = Counter({'a':5, 'b':3, 'c':7}) >>> sorted(x) ['a', 'b', 'c'] >>> sorted(x.items()) [('a', 5), ('b', 3), ('c', 7)] >>> [(l,k) for k,l in sorted([(j,i) for i,j in x.items()])] [('b', 3), ('a', 5), ('c', 7)] >>> [(l,k) for k,l in sorted([(j,i) for i,j in …

8
.NET集合提供最快的搜索
我有60k项需要对照20k的查找列表进行检查。是否有一个集合对象(如List,HashTable),提供了一个exceptionly快速Contains()的方法?还是我必须自己写?换句话说,默认Contains()方法是仅扫描每个项目,还是使用更好的搜索算法。 foreach (Record item in LargeCollection) { if (LookupCollection.Contains(item.Key)) { // Do something } } 注意。查找列表已排序。
143 c#  .net  search  collections 


9
在C#中过滤集合
我正在寻找一种非常快速的方法来过滤C#中的集合。我目前正在使用通用的List <object>集合,但是如果它们的性能更好,则可以使用其他结构。 当前,我只是创建一个新的List <object>并循环遍历原始列表。如果过滤条件匹配,我将副本放入新列表。 有一个更好的方法吗?有没有一种方法可以进行过滤,所以不需要临时列表?


18
如何复制Java收藏夹列表
我有一个ArrayList,我想准确复制它。我会尽可能使用实用程序类,但前提是有人花了一些时间来使它正确。因此,我自然而然地得到了Collections一个包含复制方法的类。 假设我有以下内容: List<String> a = new ArrayList<String>(); a.add("a"); a.add("b"); a.add("c"); List<String> b = new ArrayList<String>(a.size()); Collections.copy(b,a); 这失败了,因为基本上它认为b不足以容纳a。是的,我知道b大小为0,但现在应该足够大了,不是吗?如果我必须先填补b,那么Collections.copy()脑海中就变成了完全没用的功能。因此,除了编写一个复制函数(我现在要做)之外,是否有适当的方法来做到这一点?
141 java  list  collections  copy 

5
是否有更安全的方式将项目安全地添加到Dictionary <>中?
我需要将键/对象对添加到字典中,但是我当然需要首先检查该键是否已经存在,否则会收到“ 键在字典中已存在 ”错误。下面的代码解决了这个问题,但是很笨拙。 什么是更优雅的方法而不做这样的字符串助手方法呢? using System; using System.Collections.Generic; namespace TestDictStringObject { class Program { static void Main(string[] args) { Dictionary&lt;string, object&gt; currentViews = new Dictionary&lt;string, object&gt;(); StringHelpers.SafeDictionaryAdd(currentViews, "Customers", "view1"); StringHelpers.SafeDictionaryAdd(currentViews, "Customers", "view2"); StringHelpers.SafeDictionaryAdd(currentViews, "Employees", "view1"); StringHelpers.SafeDictionaryAdd(currentViews, "Reports", "view1"); foreach (KeyValuePair&lt;string, object&gt; pair in currentViews) { Console.WriteLine("{0} {1}", pair.Key, pair.Value); } …


4
Java 8:Streams与Collections的性能
我是Java 8的新手。我仍然不了解API的详细信息,但是我做了一个小型的非正式基准测试,以比较新Streams API与旧版Collections的性能。 该测试包括过滤的列表Integer,并针对每个偶数计算平方根并将其存储在结果List中Double。 这是代码: public static void main(String[] args) { //Calculating square root of even numbers from 1 to N int min = 1; int max = 1000000; List&lt;Integer&gt; sourceList = new ArrayList&lt;&gt;(); for (int i = min; i &lt; max; i++) { sourceList.add(i); } List&lt;Double&gt; result = new …

16
是否有通用的Java实用程序将列表分为几批?
我为自己编写了一个实用程序,用于将列表分成给定大小的批次。我只是想知道是否已经有针对此的apache commons util。 public static &lt;T&gt; List&lt;List&lt;T&gt;&gt; getBatches(List&lt;T&gt; collection,int batchSize){ int i = 0; List&lt;List&lt;T&gt;&gt; batches = new ArrayList&lt;List&lt;T&gt;&gt;(); while(i&lt;collection.size()){ int nextInc = Math.min(collection.size()-i,batchSize); List&lt;T&gt; batch = collection.subList(i,i+nextInc); batches.add(batch); i = i + nextInc; } return batches; } 请让我知道是否已经有相同的现有实用程序。
140 java  collections 

17
将原始long数组转换为long列表
这可能是一个简单的,总机问题,但我的第一次尝试出乎意料地完全失败了。我想获取一组原始的long并将其转换为列表,我试图这样做: long[] input = someAPI.getSomeLongs(); List&lt;Long&gt; inputAsList = Arrays.asList(input); //Total failure to even compile! 什么是正确的方法?


12
什么是最有效的Java Collections库?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 什么是最有效的Java Collections库? 几年前,我做了很多Java的工作,给人留下的印象是那个宝库是最好(最有效)的Java Collections实现。但是,当我阅读“ 最有用的免费Java库? ” 这个问题的答案时,我注意到几乎没有提到trove。那么,哪个Java Collections库现在最好? 更新:为澄清起见,我主要想知道当我必须在哈希表等中存储数百万个条目时使用哪个库(需要小的运行时和内存占用)。
135 java  collections 

13
如何将java.util.List复制到另一个java.util.List
我有一个List&lt;SomeBean&gt;从Web服务填充的。我想将该列表的内容复制/克隆到相同类型的空列表中。谷歌搜索复制列表建议我使用Collections.copy()方法。在我看到的所有示例中,目标列表应该包含要进行复制的确切项目数。 由于我正在使用的列表是通过Web服务填充的,并且其中包含数百个对象,因此我无法使用上述技术。还是我用错了?无论如何,为了使其正常工作,我试图做这样的事情,但是我仍然得到了IndexOutOfBoundsException。 List&lt;SomeBean&gt; wsList = app.allInOne(template); List&lt;SomeBean&gt; wsListCopy=new ArrayList&lt;SomeBean&gt;(wsList.size()); Collections.copy(wsListCopy,wsList); System.out.println(wsListCopy.size()); 我尝试使用,wsListCopy=wsList.subList(0, wsList.size())但ConcurrentAccessException后来在代码中找到了。命中和审判。:) 无论如何,我的问题很简单,如何将列表的全部内容复制到另一个列表中?当然,不是通过迭代。
135 java  collections  copy 

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.