您的位置:首页 > 移动开发 > Objective-C

List<Object>装的是对象 排序问题

2012-04-22 12:01 495 查看
项目当中需要用到对对象排序,而这时的对象已经装到list中。怎样进行排序呢?

1.将实体implements Comparable,并实现其comparaTo()方法

package com.itbbs.model;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.Transient;

import org.hibernate.annotations.Type;

@Entity
public class News implements Comparable<Object> {

private Category category;

private int clickNum;

private String content;

private Date date;

private int id;

private String img;

private String name;

private String title;

private int type;

private User user;

private Boolean headline;

public News() {
}

public News(int id, String title) {
super();
this.id = id;
this.title = title;
}

@ManyToOne
@JoinColumn(name = "categoryId", referencedColumnName = "id")
public Category getCategory() {
return category;
}

public int getClickNum() {
return clickNum;
}

@Lob
@Type(type = "text")
public String getContent() {
return content;
}

public Date getDate() {
return date;
}

@Id
@GeneratedValue
public int getId() {
return id;
}

@Transient
public String getImg() {
return img;
}

public String getName() {
return name;
}

public String getTitle() {
return title;
}

public int getType() {
return type;
}

// 默认为eager 记住lazy
@ManyToOne
@JoinColumn(name = "userId", referencedColumnName = "id")
public User getUser() {
return user;
}

public void setCategory(Category category) {
this.category = category;
}

public void setClickNum(int clickNum) {
this.clickNum = clickNum;
}

public void setContent(String content) {
this.content = content;
}

public void setDate(Date date) {
this.date = date;
}

public void setId(int id) {
this.id = id;
}

public void setImg(String img) {
this.img = img;
}

public void setName(String name) {
this.name = name;
}

public void setTitle(String title) {
this.title = title;
}

public void setType(int type) {
this.type = type;
}

public void setUser(User user) {
this.user = user;
}

public void setHeadline(Boolean headline) {
this.headline = headline;
}

public Boolean getHeadline() {
return headline;
}

public int compareTo(Object o) {

News others = null;
if (o instanceof News) {
others = (News) o;
}

return this.type - others.type;
}

}


在项目中调用就很简单了。

List<News> tranfer = this.managerService.headline();

Collections.sort(tranfer);/* 排序 in type */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: