比较器排序TreeSet
程序员文章站
2022-07-09 22:35:44
...
import java.util.Comparator;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
public class Demo04 {
public static void main(String[] args) {
Set<Cat1> s = new TreeSet<>(new Comparator<Cat1>() {
@Override
public int compare(Cat1 o1, Cat1 o2) {
if(o1.getName().length() != o2.getName().length())
return o1.getName().length() - o2.getName().length();
else
if(o1.getAge() != o2.getAge())
return o1.getAge() - o2.getAge();
else
return o1.getName().compareTo(o2.getName());
}
});
s.add(new Cat1("豆包",20));
s.add(new Cat1("沙包",20));
s.add(new Cat1("菜鹤包",2));
s.add(new Cat1("土包",2));
s.add(new Cat1("大傻包",21));
s.add(new Cat1("和包",4));
s.add(new Cat1("豆沙包",2));
System.out.println("s = " + s);
}
}
class Cat1 {
private String name;
private Integer age;
public Cat1(String name, Integer age) {
this.name = name;
this.age = age;
}
public Cat1() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Cat1{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
上一篇: java学习笔记(13)
下一篇: java TreeSet比较器排序
推荐阅读
-
TP-Link迷你路由器TL-WR700N/WR710N/WR800N图文设置方法(比较详细)
-
linux服务器系统CentOS、uBuntu、Gentoo、FreeBSD、Debian的比较
-
Linux虚拟服务器 LVS的三种负载均衡方式比较
-
[ExtNet] GridPanel怎么实现服务器端分页、排序、查询?--Oracel存储过程分页
-
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
-
PIC16F1829 比较器初始化设置及应用
-
360浏览器如何清理缓存使用久了缓存比较多
-
生殖器疱疹如何食补比较好 这六种食物可治疗生殖器疱疹
-
Java 比较器的用法
-
C#基础之数组排序、对象大小比较实现代码