如何通过其中一个对象属性来排列对象的ArrayList?ArrayList通过属性对象ArrayList保存?
0
A
回答
3
ArrayList有点不赞成。我们现在使用的通用List<T>类*
您可以按就地使用List<T>.Sort列表<牛逼>:
List<Person> persons = // ...
persons.Sort((a, b) => string.Compare(a.Name, b.Name));
或使用创建一个新的列表<牛逼> LINQ的Enumerable.OrderBy:
List<Person> persons = // ...
List<Person> sortedPersons = persons.OrderBy(p => p.Name).ToList();
(*除非您被.NET Framework 1.1困住)
2
正如dtb所解释的那样,除非您使用的是.NET 2.0的pre 2.0版本,否则您应该使用通用的List<T>
而非无类型的ArrayList
。
如果你真的想与ArrayList
做,有做两种方式:
,如果集合的元素实现
IComparable
,只需使用Sort
方法不带参数:arrayList.Sort();
否则,您必须通过实现
IComparer
接口来创建自定义比较:public class PersonComparer : IComparer { public int Compare(object a, object b) { Person pa = a as Person; Person pb = b as Person; if (pa == pb) return 0; if (pa == null) return -1; if (pb == null) return 1; return string.Compare(pa.Name, pb.Name); } } ... arrayList.Sort(new PersonComparer());
0
每当你要排序,你需要将它与它的特定元素比较的数组。 假设你有一个名为客户端和客户端的数组列表,现在你想对它进行排序。你的代码应该是
Client.Sort(a, b) => string.Compare(a.clientID.ToString(), b.clientID.ToString()));
相关问题
- 1. 对象ArrayList属性
- 2. 如何通过em.persist()保持arraylist对象?
- 3. 如何通过其对象属性对ArrayList进行排序?
- 4. 如何在Hibernate中通过ArrayList保存多个对象?
- 5. 通过ArrayList对象中的特定值对ArrayList排序?
- 6. BeanUtils从arraylist检索对象属性
- 7. C#arraylist搜索对象属性问题
- 8. 访问ArrayList中对象的属性
- 9. Java:属性上的对象排序Arraylist
- 10. ArrayList在新的Arraylist属性
- 11. ArrayList的使用对象不保存值
- 12. java howto加载并保存ArrayList对象
- 13. Java - 通过TCP传递对象ArrayList
- 14. 通过Bundle传递ArrayList对象?
- 15. ArrayList通过Id检索对象
- 16. 对象的ArrayList通过级Java
- 17. ArrayList ArrayList中的对象
- 18. 多态性,ArrayList和对象
- 19. 想要通过几个不同的属性对对象ArrayList进行排序
- 20. 在arraylist中存储对象
- 21. 根据对象的属性对对象ArrayList进行分类
- 22. 修改存储在ArrayList中的对象的属性
- 23. 如何访问存储在arraylist中的对象的属性?
- 24. 如何从对象的ArrayList得到一个对象的属性
- 25. 按对象排序对象的ArrayList属性并组织它们
- 26. 通过的ArrayList
- 27. ArrayList对象
- 28. ArrayList对象(java)
- 29. 拆分ArrayList属性
- 30. 如何排序长的ArrayList <Object>通过对象的属性在Java中
嗨ive试过你的第一个建议,它告诉我我需要使用委托类型? :s – Tom 2010-05-24 21:29:08
我已经重新检查它,它在这里工作。你使用什么框架版本?你能发布你的代码吗?你得到了什么确切的错误信息? – dtb 2010-05-24 21:36:52
他在谈论ArrayList。 Lambdas要求他赶上3次更新和一大堆阅读。失去的原因,真的。 – 2010-05-24 21:57:55