java实现集合对象排序(多个字段)

阅读: 评论:0

2024年2月8日发(作者:)

java实现集合对象排序(多个字段)

return 0;

}

private int compareField(Object o1, Object o2, String fieldName) {

Object value1=getFieldValueByName(fieldName, o1);

Object value2=getFieldValueByName(fieldName, o2);

if (value1==null ||value2==null) { if (value1!=null) { return 1; }if (value2!=null) { return -1; }else { return 0; } }

if (isValue) {

double v1 = ((Number)value1).doubleValue();

double v2 = ((Number)value2).doubleValue();

if (v1-v2 > 0) {

return 1;

}else if (v1==v2) { return 0; } return -1;

} else {

String v1 = ng();

String v2 = ng();

int i= e(v1, v2); if (i>0) { return 1; }else if (i==0) { return 0; } return -1;

}

}

private Object getFieldValueByName(String fieldName, Object obj) {

try {

Class<? extends Object> objClass = ss();

String Letter = ing(0, 1).toUpperCase();

String methodStr = "get" + Letter + ing(1);

Method method = hod(methodStr, new Class[] {});

Object value = (obj, new Object[] {});

if (value instanceof Number) {

ue(true);

} else { ue(false);

} return value;

} catch (Exception e) {

n("FieldName:" + fieldName + " is not exsited.");

return null;

}

}

public boolean isValue() {

return isValue;

}

public void setValue(boolean isValue) {

e = isValue;

}

public static void main(String[] args) {

List list = new ArrayList();

JavaBean bean = new JavaBean(4,"张三0.01","a");

(bean);

bean = new JavaBean(3,"张三0.001","a");

(bean);

bean = new JavaBean(2,"王五","b");

(bean);

bean = new JavaBean(1,"钱七","b");

(bean);

MutilOrder comparator = new MutilOrder();

lds(new String[] {"address","name","id"});

ers(new String[] {"asc","desc","asc"}); (list, comparator);

for (JavaBean obj : list) {

n(()+":"+e()+":"+ress());

}

n("OK"); }

}

class JavaBean{

private String name;

private String address;

private int id;

public String getName() {

return name;

}

public void setName(String name) {

= name;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

s = address;

}

public int getId() {

return id;

}

public void setId(int id) {

= id;

}

public JavaBean(int id,String name, String address) {

super();

= name;

s = address;

= id;

}

}

结果

4:张三0.01:a3:张三0.001:a2:王五:b1:钱七:bOK

java实现集合对象排序(多个字段)

本文发布于:2024-02-08 06:36:52,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170734541266819.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:集合   排序   对象   实现
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23