Java基础-TreeSet的基础学习

本文介绍了Java中的TreeSet集合,强调其作为无序且不允许重复元素的Set子类特性。尽管插入顺序无关,但TreeSet会根据自定义的比较规则进行排序。若元素为自定义引用类型,需实现比较器接口。文中还提及了TreeSet的无序性和无角标特点,并提供了相关实例代码,包括Dog、Person类、自定义比较器MyCompare及主函数Demo。
摘要由CSDN通过智能技术生成

TreeSet集合的基本学习

  • Set集合:
    是一个无序的集合,不允许出现重复元素的集合
    没有角标的集合

    • 无序:
      Set集合无序指的是跟放入的顺序无关
    • 不允许重复:
      每一Set子类都会有自己的元素查重规则
    • 没有角标:
      因为Set和List不一样,List是数组结构集合
  • TreeSet(排序的子类)

    • 无序:体现在跟放入的顺序无关,但是结果是有序的(由小到大)
    • 排序规则是比较器接口
    • 没有角标

    注意点:
    如果TreeSet集合中放入的元素是引用数据类型(除了8种包装类)那么该引用数据类型必须实现比较器接口,自定义比较规则。

实例:

  • 文件结构:
    Dog.java 文件系统自己的类不可以继承别的类也不能修改
    Person.java 文件我们自己的类可以继承别的类也可以修改
    MyCompare.java 文件我们自己写的比较器
    Demo.java 文件主函数
    Dog.java
public class Dog {
   
    //假如这是一个系统内部类不可以修改和继承
    public String name;
    public int age;

    public Dog() {
   

    }

    public Dog(String name, int age) {
   
        super();
        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 String toString() {
   
        return "Dog{" +
                "name=" + name +
                ", age=" + age +
                '}';
    }
}

Person.java

public class Person implements Comparable<Person> {
   
    //假如这是一个自己写的类,可以继承和修改
    public String name;
    public int age;

    public Person(String name, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值