java集合排序
一、map集合的排序比较value进行排序
List lastEventCauselist = new ArrayList();
List lastNumlist = new ArrayList();
HashMap map = new HashMap();
for(int i=0;i o2.getAge()){
return 1;
}
if(o1.getAge() == o2.getAge()){
return 0;
}
return -1;
}
});
System.out.println("排序后:"+list);
}
}
public List removeExtra(List list) {
List newList= new ArrayList();
HashMap hashMap = new HashMap();
for (CheckAdvice checkAdvice : list) {
if (checkAdvice == null) {
continue;
}
String adviceId = checkAdvice.getAdviceId();
if (adviceId != null) {
String value = hashMap.get(adviceId);
if (StringUtil.isEmpty(value)) { //如果value是空的 说明取到的这个adviceId是第一次取到
hashMap.put(adviceId, adviceId);
newList.add(checkAdvice);
} else {
continue;
}
}
}
hashMap.clear();
return newList;
}
根据实体类中的某一字段进行排序
实体类实现Comparable 接口,仅仅对集合中某个字段通过递归二次遍历,不影响整体查询返回结果的逻辑性。
import java.io.Serializable;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.cnten.platform.framework.web.dict.DictContext;
import com.github.pagehelper.util.StringUtil;
public class CheckAdvice implements Serializable,Comparable {
private static final long serialVersionUID = 6674013991838914395L;
private String adviceId;
private String columnId;
private String columnName;
private String title;
private String profile;
private String contentFrom;
private String oriLink;
private String isReco;
private String isRecoName;
private String newsDate;
private String isWork;
private String isWorkName;
private String skipMode;
private String useLink;
private String commentTotal;
private String viewTotal;
private String pointTotal;
private String messageStatus;
private String attachmentId;
private String itemCode;
private String itemName;
private String href;
private String companyId;
private String companyName;
private String blockCode;
private String duration;
private String createTime;
public String getAdviceId() {
return adviceId;
}
public void setAdviceId(String adviceId) {
this.adviceId = adviceId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getProfile() {
return profile;
}
public void setProfile(String profile) {
this.profile = profile;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getContentFrom() {
return contentFrom;
}
public void setContentFrom(String contentFrom) {
this.contentFrom = contentFrom;
}
public String getOriLink() {
return oriLink;
}
public void setOriLink(String oriLink) {
this.oriLink = oriLink;
}
public String getIsReco() {
return isReco;
}
public void setIsReco(String isReco) {
this.isReco = isReco;
}
public String getIsWork() {
return isWork;
}
public void setIsWork(String isWork) {
this.isWork = isWork;
}
public String getColumnId() {
return columnId;
}
public void setColumnId(String columnId) {
this.columnId = columnId;
}
public String getSkipMode() {
return skipMode;
}
public void setSkipMode(String skipMode) {
this.skipMode = skipMode;
}
public String getColumnName() {
return columnName;
}
public void setColumnName(String columnName) {
this.columnName = columnName;
}
public String getIsRecoName() {
isRecoName = "";
String dictItemName = DictContext.getInstance().getDict("whether", isReco);
if (StringUtil.isNotEmpty(dictItemName))
isRecoName = dictItemName;
return isRecoName;
}
public void setIsRecoName(String isRecoName) {
this.isRecoName = isRecoName;
}
public String getIsWorkName() {
isWorkName = "";
String dictItemName = DictContext.getInstance().getDict("whether", isWork);
if (StringUtil.isNotEmpty(dictItemName))
isWorkName = dictItemName;
return isWorkName;
}
public void setIsWorkName(String isWorkName) {
this.isWorkName = isWorkName;
}
public String getUseLink() {
return useLink;
}
public void setUseLink(String useLink) {
this.useLink = useLink;
}
public String getCommentTotal() {
return commentTotal;
}
public void setCommentTotal(String commentTotal) {
this.commentTotal = commentTotal;
}
public String getViewTotal() {
return viewTotal;
}
public void setViewTotal(String viewTotal) {
this.viewTotal = viewTotal;
}
public String getPointTotal() {
return pointTotal;
}
public void setPointTotal(String pointTotal) {
this.pointTotal = pointTotal;
}
public String getMessageStatus() {
return messageStatus;
}
public void setMessageStatus(String messageStatus) {
this.messageStatus = messageStatus;
}
public String getAttachmentId() {
return attachmentId;
}
public void setAttachmentId(String attachmentId) {
this.attachmentId = attachmentId;
}
public String getItemCode() {
return itemCode;
}
public void setItemCode(String itemCode) {
this.itemCode = itemCode;
}
public String getItemName() {
return itemName;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
public String getNewsDate() {
return newsDate;
}
public void setNewsDate(String newsDate) {
this.newsDate = newsDate;
}
public String getHref() {
return href;
}
public String getCompanyId() {
return companyId;
}
public void setCompanyId(String companyId) {
this.companyId = companyId;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getBlockCode() {
return blockCode;
}
public void setBlockCode(String blockCode) {
this.blockCode = blockCode;
}
public String getDuration() {
return duration;
}
public void setDuration(String duration) {
this.duration = duration;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
@Override
public int compareTo(CheckAdvice ca) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
return df.parse(ca.getNewsDate()).compareTo(df.parse(this.getNewsDate()));
} catch (ParseException e) {
return 0;
}
}
}
public List getHomePageData(String blockCode,String companyId) {
List dataList = checkAdviceMapper.getHomePageData(blockCode,companyId);
Collections.sort(dataList);
return dataList;
}