java List 排序

来源:互联网 发布:dns 多域名 同一ip 编辑:程序博客网 时间:2024/06/15 13:03

1)list中的数据需要排序,如果我们自己写排序工作量大,而且算法也不太好,但是javalist自带一个排序功能,就是需要继承Comparable,然后在获取数据后

List<Organization> all = organizationDAO.findAll();

            Collections.sort(all);即可

package com.pi.model;

 

 

 

import java.util.ArrayList;

 

import java.util.List;

 

 

 

import javax.persistence.Entity;

 

import javax.persistence.Id;

 

import javax.persistence.OneToMany;

 

import javax.persistence.Table;

 

import javax.persistence.Transient;

 

 

 

import com.fasterxml.jackson.annotation.JsonProperty;

 

 

 

@Entity

 

@Table(name = "wz_organization")

 

public class Organization implements Comparable<Organization>{

 

 

 

    @Id

 

    private long id;

 

 

 

    @JsonProperty("text")

 

    private String name;

 

 

 

    private long parent;

 

    

 

    private String svgName;

 

 

 

    @Transient

 

    @OneToMany(targetEntity=Organization.class,mappedBy="parent")

 

    private List<Organization> children = new ArrayList<Organization>();

 

 

 

    @Transient

 

    private String orgname;

 

 

 

    public long getId() {

 

        return id;

 

    }

 

 

 

    public void setId(long id) {

 

        this.id = id;

 

    }

 

 

 

    public String getName() {

 

        return name;

 

    }

 

 

 

    public void setName(String name) {

 

        this.name = name;

 

    }

 

 

 

    public long getParent() {

 

        return parent;

 

    }

 

 

 

    public void setParent(long parent) {

 

        this.parent = parent;

 

    }

 

 

 

    @JsonProperty("children")

 

    public List<Organization> getChildren() {

 

        return children;

 

    }

 

 

 

    public void setChildren(List<Organization> children) {

 

        this.children = children;

 

    }

 

 

 

    public String getOrgname() {

 

        return orgname;

 

    }

 

 

 

    public void setOrgname(String orgname) {

 

        this.orgname = orgname;

 

    }

 

 

 

public String getSvgName() {

 

return svgName;

 

}

 

 

 

public void setSvgName(String svgName) {

 

this.svgName = svgName;

 

}

 

 

 

@Override

 

public int compareTo(Organization arg0) {

 

 

Integer a = new Integer( (int) this.id);

 

 

return ((Long)(this.id)).compareTo((Long)arg0.id);

 

if(this.id>arg0.id){

 

return 1;

 

}else{

 

return -1;

 

}

 

}

}

 

 

原创粉丝点击