Questions tagged «collections»

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


3
如何在Java中序列化列表?
我想深入克隆一个列表。为此,我们有一种方法 // apache commons method. This object should be serializable SerializationUtils.clone ( object ) 所以现在要克隆我的列表,我应该先将其转换为可序列化的。是否可以将列表转换为可序列化列表?

17
搜索字符串集合的最快方法
问题: 我有一个大约120,000个用户(字符串)的文本文件,我想将其存储在集合中,然后在该集合上执行搜索。 每当用户更改a的文本时,都会出现搜索方法,TextBox并且结果应为中包含文本的字符串TextBox。 我不必更改列表,只需拉出结果并将其放在即可ListBox。 到目前为止,我已经尝试过: 我尝试了两种不同的集合/容器,它们是从外部文本文件中转储字符串条目(当然是一次): List<string> allUsers; HashSet<string> allUsers; 使用以下LINQ查询: allUsers.Where(item => item.Contains(textBox_search.Text)).ToList(); 我的搜索事件(当用户更改搜索文本时触发): private void textBox_search_TextChanged(object sender, EventArgs e) { if (textBox_search.Text.Length > 2) { listBox_choices.DataSource = allUsers.Where(item => item.Contains(textBox_search.Text)).ToList(); } else { listBox_choices.DataSource = null; } } 结果: 两者都给了我较差的响应时间(每次按键之间大约1-3秒)。 题: 您认为我的瓶颈在哪里?我使用过的收藏?搜索方法?都? 如何获得更好的性能和更流畅的功能?

5
如何在获取元素后取消设置(删除)集合元素?
我有一个集合,在获取某些元素时要进行迭代和修改。但是我找不到删除该获取的元素的方法或方法。 $selected = []; foreach ($collection as $key => $value) { if ($collection->selected == true) { $selected[] = $value; unset($value); } } 这只是我要示范的问题的代表。 @Ohgodwhy提出了got()函数的建议后,我再次对其进行了检查,发现我实际上对该函数有误解。正是我想要的。 因此,对于有效的解决方案,我$collection->forget($key)在if语句中添加了内容。 下面是使用@Ohgodwhy的解决方案解决我的问题的方法: $selected = []; foreach ($collection as $key => $value) { if ($collection->selected == true) { $selected[] = $value; $collection->forget($key); } } (这只是一个演示)


7
添加到集合然后对其进行排序或添加到已排序的集合是否更快?
如果我有Map这样的话: HashMap<Integer, ComparableObject> map; 并且我想获得使用自然顺序排序的值的集合,哪种方法最快? (一种) 创建一个可排序集合的实例,例如ArrayList,添加值,然后对其进行排序: List<ComparableObject> sortedCollection = new ArrayList<ComparableObject>(map.values()); Collections.sort(sortedCollection); (B) 创建一个有序集合的实例,例如TreeSet,然后添加值: Set<ComparableObject> sortedCollection = new TreeSet<ComparableObject>(map.values()); 请注意,结果集合永远不会被修改,因此排序只需要进行一次。

4
List <T>是否保证以添加顺序返回项目?
是否List&lt;T&gt;始终保证项目将按枚举时添加的顺序返回? 更新:谢谢大家的回答,请放心。我List&lt;T&gt;使用.NET Reflector快速浏览了该类(应该首先应该这样做),而实际上底层存储是T(T[])数组。
78 .net  list  collections 

14
排序Java集合
我有一个Java集合: Collection&lt;CustomObject&gt; list = new ArrayList&lt;CustomObject&gt;(); CustomObjectid现在在显示列表之前有一个字段,我想按此排序此集合id。 有什么办法可以做到吗?

7
如何通过属性在ArrayList中查找对象
Carnet在ArrayList&lt;Carnet&gt;知道对象的属性的情况下,我该如何找到它codeIsin。 List&lt;Carnet&gt; listCarnet = carnetEJB.findAll(); public class Carnet { private String codeTitre; private String nomTitre; private String codeIsin; // Setters and getters }

9
为什么HashMap值不转换为List?
我正在将值放入形式的哈希图中, Map&lt;Long, Double&gt; highLowValueMap=new HashMap&lt;Long, Double&gt;(); highLowValueMap.put(1l, 10.0); highLowValueMap.put(2l, 20.0); 我想通过使用values()map方法创建一个列表。 List&lt;Double&gt; valuesToMatch=new ArrayList&lt;&gt;(); valuesToMatch=(List&lt;Double&gt;) highLowValueMap.values(); 要么 List&lt;Double&gt; valuesToMatch=(List&lt;Double&gt;) highLowValueMap.values(); 但是,它将引发异常: 线程“主”中的异常java.lang.ClassCastException: java.util.HashMap $ Values无法转换为java.util.List 但是它允许我将其传递给列表的创建: List&lt;Double&gt; valuesToMatch = new ArrayList&lt;Double&gt;( highLowValueMap.values());

3
Collectors.toMap()keyMapper —更简洁的表达吗?
我正在尝试在以下Collectors.toMap()调用中为“ keyMapper”函数参数提供一个更简洁的表达式: List&lt;Person&gt; roster = ...; Map&lt;String, Person&gt; map = roster .stream() .collect( Collectors.toMap( new Function&lt;Person, String&gt;() { public String apply(Person p) { return p.getLast(); } }, Function.&lt;Person&gt;identity())); 看来我应该能够使用lambda表达式内联它,但是我无法提出一个可以编译的表达式。(我对lambda很陌生,所以这并不奇怪。) 谢谢。 -&gt;更新: 如已接受的答案中所述 Person::getLast 是我一直在寻找的东西,也是我尝试过的东西。但是,问题是夜间出现的Eclipse 4.3的BETA_8夜间构建-标记为错误。从命令行编译时(我应该在发布之前完成该工作)。因此,该到eclipse.org提交错误了。 谢谢。

5
基于FIFO的队列实现?
我需要一个简单的FIFO实现的队列来存储一堆int(如果是泛型实现,我并不介意)。 java.utilTrove / Guava库中已经为我准备的所有内容了吗?



3
Map的keySet()和entrySet()的性能注意事项
所有, 谁能让我确切知道两者之间的性能问题?站点:CodeRanch简要概述了使用keySet()和get()时需要的内部调用。但是如果使用keySet()和get()方法时任何人都可以提供有关流的确切详细信息,那将是很好的。这将帮助我更好地了解性能问题。

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.