TreeSet

Posted tanlei-sxs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TreeSet相关的知识,希望对你有一定的参考价值。

TreeSet为使用树来进行存储的Set接口提供了一个工具,

对象按升序存储,访问和检索快

 

TreeSet的内部操作的底层数据是TreeMap,只是我们操作的是TreeMap的key

采用实现Comparable<person2>  里面重写compareTo(person2 o)  来比较   通过这方法排序,没有用会报错

package com.Set;

import java.util.Iterator;
import java.util.TreeSet;

public class TreeSetDemo {
   public static void main(String[] args) {
    TreeSet<person2> pSet=new TreeSet<person2>();
    pSet.add(new person2("张三",20));
    pSet.add(new person2("李四",22));
    pSet.add(new person2("张三",20));
    Iterator<person2> it   =pSet.iterator();
    while (it.hasNext()) {
        person2 person2 =it.next();
        System.out.println(person2.getName()+person2.getAge());
    }
    
}
}

class person2 implements Comparable<person2>{
   private String name;
   private int age;
   
    
    public person2(String name, int age) {
    
    this.name = name;
    this.age = age;
}


    public String getName() {
    return name;
}


public void setName(String name) {
    this.name = name;
}


public int getAge() {
    return age;
}


public void setAge(int age) {
    this.age = age;
}


    @Override
    public int compareTo(person2 o) {
        if(this.age-o.getAge()<0) {
          return -1;    
        }else if(this.age-o.getAge()>0){
            return 1;
        }
        return 0;
    }
    
}

以上是关于TreeSet的主要内容,如果未能解决你的问题,请参考以下文章

[Java基础]TreeSet集合概述和特点

java中treemap和treeset实现(红黑树)

Java集合框架 Set接口实现类--TreeSet概述及使用

Java集合框架 Set接口实现类--TreeSet补充: Comparator接口

关于java中TreeSet类的一些问题

Java集合详解7:HashSet,TreeSet与LinkedHashSet