对list集合重新排序
1.排序 :重写compare 方法 升序排列返回1 降序返回-1
2.将集合顺序调换:Collections.reverse(list);
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* 对list集合重新排序 升序排列返回1 降序返回-1
*/
public class ListTest {
public static void main(String[] args) {
List<ConsumeVo> list =new ArrayList<>();
ConsumeVo consumeVo1=new ConsumeVo();
consumeVo1.setTime(2);
consumeVo1.setValue("2");
ConsumeVo consumeVo2=new ConsumeVo();
consumeVo2.setTime(1);
consumeVo2.setValue("1");
ConsumeVo consumeVo3=new ConsumeVo();
consumeVo3.setTime(3);
consumeVo3.setValue("3");
ConsumeVo consumeVo4=new ConsumeVo();
consumeVo4.setTime(4);
consumeVo4.setValue("4");
list.add(consumeVo1);
list.add(consumeVo2);
list.add(consumeVo3);
list.add(consumeVo4);
System.out.println("排序前:"+list.toString());
for ( int i = 0 ;i < list.size();i++){
System.out.println(list.get(i));
}
Collections.sort(list, new Comparator<ConsumeVo>(){
/*
* int compare(ConsumeVo o1, ConsumeVo o2) 返回一个基本类型的整型,
* 返回负数表示:o1 小于o2,
* 返回0 表示:o1和o2相等,
* 返回正数表示:o1大于o2。
*/
@Override
public int compare(ConsumeVo o1, ConsumeVo o2) {
//按照time(次数)进行升序排列返回1 降序返回-1
if(Integer.valueOf(o1.getTime()) > Integer.valueOf(o2.getTime())){
return 1;
}
if(Integer.valueOf(o1.getTime()).equals(Integer.valueOf(o2.getTime()))){
return 0;
}
return -1;
}
});
System.out.println("排序后:"+list.toString());
for ( int i = 0 ;i < list.size();i++){
System.out.println(list.get(i));
}
Collections.reverse(list);
System.out.println("倒序:"+list.toString());
for ( int i = 0 ;i < list.size();i++){
System.out.println(list.get(i));
}
}
}
ConsumeVo类
/**
* @author
* @version 1.0
* @Description:
* @createDate
**/
public class ConsumeVo {
/**
* 值
*/
private String value;
/**
* 统计用时间字段显示()
*/
private Integer time;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public Integer getTime() {
return time;
}
public void setTime(Integer time) {
this.time = time;
}
@Override
public String toString() {
return "ConsumeVo{" +
", value='" + value + '\'' +
", time='" + time + '\'' +
'}';
}
}