List 集合对象比较大小
需要实现Comparable接口 并重写方法compareTo 代码如下:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import lombok.Data;
@Data
public class TestCompare implements Comparable<TestCompare>{
private String num;//随意类型字符串
@Override
public int compareTo(TestCompare o) {
return Integer.valueOf(this.num)-Integer.valueOf(o.num); //升序
}
//结果测试
public static void main(String args[]) {
TestCompare t1 = new TestCompare();
t1.setNum("1");
TestCompare t2 = new TestCompare();
t2.setNum("2");
TestCompare t3 = new TestCompare();
t3.setNum("3");
List<TestCompare> list = new ArrayList<>();
list.add(t2);
list.add(t3);
list.add(t1);
for(TestCompare t : list) {
System.out.println("比较前:" + t.getNum());
}
System.out.println("================================");
Collections.sort(list);
for(TestCompare t : list) {
System.out.println("比较后:" + t.getNum());
}
}
}
输出结果:
比较前:2
比较前:3
比较前:1
================================
比较后:1
比较后:2
比较后:3