对象数组根据某属性列的灵活排序
2008-01-03 13:45
459 查看
在工作中经常会遇到对象数组根据某个属性进行排序的问题。这里介绍一个方法。
以汽车为例:
public class Car:IComparable<Car>
Array.Sort<Car>(arr);
但是随着项目的发展的发展我们会迎来新的问题,我们现在又需要根据Type排序了,怎么办呢?
不用担心我们只要使用一个最简单的Adapter模式就能解决这个问题
下面我们来创建这个适配器:
public class ComparaCarAdapter : IComparer<Car>
Array.Sort<Car>(arr,new ComparaCarAdapter());
但是这样如果属性很多,会产生很多的类,怎么办呢。那么利用反射吧。将ComparaCarAdapter改造为:
public class ComparaCarAdapter : IComparer<Car>
Array.Sort<Car>(arr, new ComparaCarAdapter("Weight"));
OK搞定,应该足够灵活了吧。
(转载请通知并注明出处。)
以汽车为例:
public class Car:IComparable<Car>
Array.Sort<Car>(arr);
但是随着项目的发展的发展我们会迎来新的问题,我们现在又需要根据Type排序了,怎么办呢?
不用担心我们只要使用一个最简单的Adapter模式就能解决这个问题
下面我们来创建这个适配器:
public class ComparaCarAdapter : IComparer<Car>
Array.Sort<Car>(arr,new ComparaCarAdapter());
但是这样如果属性很多,会产生很多的类,怎么办呢。那么利用反射吧。将ComparaCarAdapter改造为:
public class ComparaCarAdapter : IComparer<Car>
Array.Sort<Car>(arr, new ComparaCarAdapter("Weight"));
OK搞定,应该足够灵活了吧。
(转载请通知并注明出处。)
相关文章推荐
- 对象数组根据某属性列的灵活排序
- 对象数组根据某属性列的灵活排序 (续)
- 浅谈JavaScript对象数组根据某属性sort升降序排序
- 浅谈JavaScript对象数组根据某属性sort升降序排序
- js数组排序,根据数组中对象的某一属性进行排序 支持数字和字符串的排序,也支持按两个属性进行排序
- JavaScript对象数组根据某属性sort升降序排序
- js 对象数组根据对象中的属性排序
- js 数组对象根据某一属性排序
- 对象数组根据单个属性进行排序
- 根据某一属性对数组中的对象进行排序
- js根据数组对象中某属性进行排序
- JavaScript 对象数组,根据某个对象属性进行排序
- javascript 数组对象根据指定属性排序
- 根据对象属性对数组进行排序
- JavaScript 根据数组中对象的属性排序
- 根据对象某一属性进行排序
- 根据对象的某一属性进行排序的js代码(如:name,age)
- java 根据不同属性,为对象排序
- 花旗软件 电面问题(一) 根据对象的某一属性排序一组对象(JAVA实现)
- 要求从用户输入的多行文本中提取学生的姓名、学号及登录日期,并封装到 Student 类中作为类的私有属性。创建一个Student类型的对象数组,对学号进行 升序排序并输出。