我在我的arraylist中有重复项,并希望删除这些重复项以使其不同。我尝试使用hastable来摆脱重复,但它毁了命令。如何在不更改广告订单的情况下将其分开?使arraylist不同
回答
如何:
using System.Linq;
myArrayList = new ArrayList(myArrayList.Distinct().ToArray());
或
var myArray = myArrayList.Distinct().ToArray();
'ArrayList'不需要'IEnumerable
我通常不会使用ArrayLists,我使用的集合通常会收到以及IEnumberable
感谢那些信息,但是你不能在arralist上使用Distinct()。我不得不将我的数组列表转换为数组,然后使用distinct,然后将其转换回数组列表。虽然我能够在你的帮助下到达那里。谢谢! – m0g 2011-05-18 18:58:28
哈希表确实听起来是个不错的主意。
foreach object in the ArrayList:
if (object in hashtable)
{
remove object from ArrayList. (instead of object you can use object's hash)
// (notice, the ArrayList's indexes will change after you remove!)
}
else
{
insert object to Hashtable. (instead of object you can use object's hash)
}
这个运行后,你将有只有每个对象的第一实例。
注意你不必使用HashTable,即使是另一个ArrayList就足够了。不过我会用hashtable去,因为hashtable中的搜索/插入在一般情况下是O(1),而arraylist中的二进制搜索是O(log(n))。
如果他们是重复的,第一个或最后一个实例将无关 – 2011-05-18 18:04:19
@Angelo,我想我不太了解您的意见... 显然,如果有重复的重复实例是不相关的,但你需要找到它以便将其删除... – TCS 2011-05-18 18:11:46
塞巴斯蒂安是对的。从技术上讲,如果您试图避免重复,请使用不支持重复的集合。使用一个Hashtable,循环访问你的ArrayList并将它们弹出。如果所有的代码都是你的,看看你是否可以重构,以便你不使用ArrayList
- 1. 在不同类别中使用Arraylist
- 2. 不要使用ArrayList!
- 3. Java ArrayList:从包含HashMap的ArrayList中获取不同的值
- 4. ArrayList不断填充相同的数据
- 5. 用不同类的ArrayList填充JComboBox
- 6. 比较不同类型的ArrayList
- 7. 从不同的类访问ArrayList
- 8. 转换不同类型的ArrayList
- 9. List和ArrayList有什么不同?
- 10. Java的ArrayList的治疗不同的元素不同
- 11. 同步访问ArrayList
- 12. 我需要使用instanceof与arraylist从不同的类
- 13. 如何在不同的类上使用Arraylist
- 14. 使用ArrayList从不同的类创建类的新实例
- 15. 相同的arraylist可以在类中有不同的值吗?
- 16. 多态性:为什么使用“List list = new ArrayList”而不是“ArrayList list = new ArrayList”?
- 17. 访问相同ArrayList的HashMap
- 18. 同步ArrayList并等待
- 19. 同时为多个用户同步ArrayList
- 20. 解析ArrayList中的ArrayList不起作用。
- 21. 项目不存储在ArrayList中具有不同的XML结构
- 22. 使用ArrayList的
- 23. ArrayList的ArrayList的ArrayList不正确的检索
- 24. 使用JSTL迭代ArrayList的ArrayList
- 25. 不使用泛型的ArrayList java程序
- 26. ArrayList在使用后不会更新.clear()
- 27. Java:同步排列多个ArrayList或单个映射的ArrayList
- 28. 在方法中创建与ArrayList参数相同的ArrayList参数
- 29. Java ArrayList不删除
- 30. Jackson:Serialise ArrayList不工作?
我们正在谈论的集合有多大? – 2011-05-18 17:58:57
@Sebastian,这个问题是Java。 – 2011-05-18 17:59:56