Arraylist中对象属性的排序

创建需要比较的实体属性

字符创比较

public class ZoneComparatorName implements Comparator<ZoneDTO> {

@Override

public int compare(ZoneDTO Z1, ZoneDTO Z2) {

String name1 = Z1.getName();

String name2 = Z2.getName();

if (name1.compareTo(name2) > 0)

{

return 0;

}

else

{

return -1;

}

}

}

整形比较

public class ZoneComparatorStreet implements Comparator<ZoneDTO> {

@Override

public int compare(ZoneDTO Z1, ZoneDTO Z2) {

int age1 = Integer.parseInt(Z1.getStreet());

int age2 = Integer.parseInt(Z2.getStreet());

if (age1 > age2)

{

return 0;

}

else

{

return -1;

}

}

}

创建需要比较的实体

public class ZoneDTO  {

// 名称

private String name;

private String street;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getStreet() {

return street;

}

public void setStreet(String street) {

this.street = street;

}

}

进行属性比较

Result为list< ZoneDTO >

ZoneComparatorName pComparatorStreet = new ZoneComparatorName();

Collections.sort(result, pComparatorStreet);

时间: 2024-10-27 06:52:15

Arraylist中对象属性的排序的相关文章

关于vue数组中对象属性变更页面没重新渲染的问题

前段时间做开发的时候用mqtt监听了服务端信息,推送过来的数据要变更数组里面的对象的数据,修改好后但是页面并没有更新,因为javascript机制,vue并不能检测到数组变化,也是查阅知道了$set()函数, 具体用法: arr.$set(index, { name : value }), index: 索引,name: 数组中对象的属性名, value: 要赋给属性的值 this.footerList.$set(i, { siteId : monitorSiteData[j].siteId,

JavaScript中对象属性的添加和删除

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /* * 用.为对象添加属性 用关键字delete删除属性 用[]添加属性 和.的不同 r.name==r["name"]; r.

【转】vector中对象指针的排序

原文:http://blog.csdn.net/tanlijun37/article/details/1948493 vector中对象指针的排序,初步想法是1: 把对象指针存到vector,重载bool operator(对象指针)2:用sort来排序例:class A{public:  bool operator(const A* temp)  {     return this->a < temp->a;  }  A(int a)  {    this->a = a;  } 

js 中对象--属性相关操作

查询属性: 可以用 对象.属性 来查询属性和属性方法               或者                    对象[“属性”]  来查询属性和属性方法 演示代码: 1 <script> 2 var obj ={ 3 username:"ziksang", 4 age:22, 5 addr:"北京", 6 say:function(){ 7 return "我的名字叫 "+this.username //解析this,此

javascript中对象属性搜索原则

为什么通过对象就能访问到原型中的属性或者方法? 属性搜索原则: 1 首先会在对象本身查找有没有该属性,如果有直接返回 2 如果没有,此时就会在构造函数中查找通过this给对象添加的成员中有没有,如果有就直接返回 3 如果没有, 就回到对象的原型对象中去查找,如果有,就返回 4 如果没有, 就会到原型对象的原型对象中查找.... 5 如此 往复,如果最后也没有找到, 获取到的值就是: undefined

javascript中对象属性的介绍

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> // 对象的属性是什么类型的? string // 如果对象的属性不是字符

vue数组中对象属性变化页面不渲染问题

做checkbox多选功能的时候遇到了一个坑,逻辑怎么看都对,但是就是有bug,最后发现数组那里值变了页面勾选没有重新渲染. 换了关键词搜索找到了相关方法. 其实之前读文档教程的时候看到过这里,但是只有真的使用之后才会有最直接的感触. ------------------------------------------- 数组更新检测 变异方法 Vue 包含一组观察数组的变异方法,所以它们也将会触发视图更新.这些方法如下: push() pop() shift() unshift() splic

js 根据对象数组中的属性进行排序

var arr = [ {name:'a',age:9}, {name:'b',age:12}, {name:'c',age:8} ]; arr.sort((a,b)=>{ return a.age - b.age }); function compare(property){ return function(a,b){ var value1 = a[property]; var value2 = b[property]; return value1 - value2; } } console.

CSS中连接属性的排序

在CSS超链接的属性中,有四个连接方式: a:link  a:hover a:visited a:acticve 之前在使用的时候一直是按照自认为的顺序中去写的,就是 L H V A的排序方式,然而有些时候却发现并不起作用了,查找了一些资料,也上网查找了一下,也有很多人在问及这个问题,如果是按照这种顺序排序,有时候显示正确,而有时候却显示不正确,追究原因,这个可能是由于浏览器的识别先后问题所导致的,也额能有缓存的原因在里面个人觉得,而最正确的写法应该是 L V H ,举个例子: <!DOCTYP