演示TreeSet对String可排序
package com.lichennan.collection.map;
import java.util.TreeSet;
public class TreeSetTest021 {
public static void main(String[] args) {
TreeSet<String> ts = new TreeSet<>();
ts.add("zhangsan");
ts.add("lisi");
ts.add("wangwu");
ts.add("maliu");
ts.add("alibaba");
for (String s:ts) {
System.out.println(s);
}
}
}
对自定义类型不可排序
package com.lichennan.collection.map;
import java.util.TreeSet;
public class TreeSetTest03 {
public static void main(String[] args) {
Person p1 = new Person(23);
Person p2 = new Person(83);
Person p3 = new Person(43);
Person p4 = new Person(23);
TreeSet<Person> persons = new TreeSet<>();
persons.add(p1);
persons.add(p2);
persons.add(p3);
persons.add(p4);
for (Person p :persons){
System.out.println(p);
}
}
}
class Person{
int age;
public Person(int age){
this.age = age;
}
@Override
public String toString() {
return "Person[age="+"]";
}
}
自定义类型实现comparable接口
package com.lichennan.collection.map;
import java.util.TreeSet;
public class TreeSetTest04 {
public static void main(String[] args) {
Customer c1 = new Customer(23);
Customer c2 = new Customer(83);
Customer c3 = new Customer(43);
Customer c4 = new Customer(23);
TreeSet<Customer> customers = new TreeSet<>();
customers.add(c1);
customers.add(c2);
customers.add(c3);
customers.add(c4);
for ( Customer p : customers){
System.out.println(p);
}
}
}
class Customer implements Comparable<Customer>{
int age;
public Customer(int age){
this.age=age;
}
@Override
public int compareTo(Customer c) {
return this.age-c.age;
}
@Override
public String toString() {
return "Customer[age=" +age+ "]";
}
}