如何通過其中一個對象屬性來排列對象的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