浅谈TreeSet中的两种排序方式

时间:2021-05-19

直接上代码:

package exercise1;public class Person implements Comparable{ private int id; private String name; public Person(int id, String name) { super(); this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String toString() { return "Person [id=" + id + ", name=" + name + "]"; } public int hashCode() { final int prime = 31; int result = 1; result = prime * result + id; result = prime * result + ((name == null) ? 0 : name.hashCode()); return result; } public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Person other = (Person) obj; if (id != other.id) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } public int compareTo(Object o) { if(o instanceof Person){ Person p=(Person)o; return this.name.compareTo(p.name); } return 0; } }package exercise1;//TreeSet下的自然排序和定制排序import java.util.Comparator;import java.util.Iterator;import java.util.Set;import java.util.TreeSet;import java.util.function.Function;import java.util.function.ToDoubleFunction;import java.util.function.ToIntFunction;import java.util.function.ToLongFunction;import org.junit.Test;//定制排序public class DisOrder { @Test public void unNature(){ Comparator com=new Comparator() { public int compare(Object o1, Object o2) { if(o1 instanceof Person && o2 instanceof Person){ Person p1=(Person)o1; Person p2=(Person)o2; return p1.getName().compareTo(p2.getName()); } return 0; } }; Set set=new TreeSet(com); set.add(new Person(111,"MM")); set.add(new Person(222,"DD")); set.add(new Person(333,"GG")); for(Object obj:set){ System.out.println(obj); } } //自然排序 @Test public void nature() { Set set=new TreeSet(); set.add("aa"); set.add("bb"); set.add("ff"); set.add("zz"); for(Object obj:set){ System.out.println(obj); } }}

以上这篇浅谈TreeSet中的两种排序方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章