专栏首页陶士涵的菜地[javaSE] 集合框架(TreeSet)

[javaSE] 集合框架(TreeSet)

TreeSet:可以对Set集合中的元素排序,默认按照ascii表排序,二叉树结构

左边叉是小的,右边叉是大的

存储自定义对象

定义一个类Student实现Comparable类,使自定义类具备比较性

定义属性年龄age

定义属性姓名name

实现compareTo()方法,传递进来另一个Student对象

判断当前Student对象的age大于另一个Student对象的age,返回1,否则返回-1

获取Student对对象

调用TreeSet对象的add()方法,参数:Student对象

遍历集合

import java.util.TreeSet;


public class TreeSetDemo {


    /**
     * @param args
     */
    public static void main(String[] args) {
        TreeSet<Student> treeset=new TreeSet<Student>();
        treeset.add(new Student("taoshihan1",30));
        treeset.add(new Student("taoshihan2",20));
        treeset.add(new Student("taoshihan3",40));
        for(Student student:treeset){
            System.out.println(student.name+"==="+student.age);
        }
        
        
        
    }

}
class Student implements Comparable<Student>{
    
    public int age;
    public String name;
    public Student(String name,int age) {
        this.name=name;
        this.age=age;
    }
    @Override
    public int compareTo(Student o) {
        if(o.age<this.age){
            return 1;
        }else{
            return -1;
        }
    }
    
}

结果:

taoshihan2===20

taoshihan1===30

taoshihan3===40

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [Go] 写文件和判断文件是否存在

    OpenFile得到一个File,然后调用它的Write,参数是字节切片 Stat看看返回错误没有

    陶士涵
  • [前端]css前端样式的模块化

    陶士涵
  • [日常] MySQL的预处理技术测试

    MySQL预处理技术: 1.减轻服务器压力 2.防止sql注入,把传递过去的危险字符也只当做参数处理 3.将sql语句强制一分为二:第一部分为前面相同的命令和结...

    陶士涵
  • Java基础-11总结Eclipse使用,API,Object类

    1:Eclipse的概述使用(掌握) 1:Eclipse的安装 2:用Eclipse写一个HelloWorld案例,最终在控制台输出你的名字 A:创建项目 ...

    Java帮帮
  • 枚举和List的几个共有方法

    有时候我们需要判断一下一个值是否包含在一个枚举类型中,然后根据判断进行下一步操作。那么如何实现枚举类型的包含判断,而且能够像工具类一般的存在。所以我决定用反射来...

    程序员_备忘录
  • Laravel框架表单验证操作实例分析

    web中间件有个作用是防止xss攻击,即csrf,需要在页面的表单中增加{{ csrf_field() }}, 会生成一个隐藏的input表单,带个token...

    砸漏
  • Java 学习笔记(4)——面向对象

    现在一般的语言都支持面向对象,而java更是将其做到很过分的地步,java是强制使用面向对象的写法,简单的写一个Hello Word都必须使用面向对象,这也是当...

    Masimaro
  • 安利贴:如何使用protobuf

    protoBuf (PB) 我理解来说,就是一种数据结构,由google 团队开发

    腾讯IVWEB团队
  • tensorflow图像裁剪进行数据增强操作

    当我们训练一个较为复杂的网络,并且我们的训练数据集有限时,网络十分容易陷入过拟合的状态。

    砸漏
  • IBM提出认知存储技术概念

    IBM研究院的科学家Giovanni Cherubini、Jens Jelitto和Vinodh Venkatesan在2016年4月4日出版的IEEE《计算机...

    人工智能快报

扫码关注云+社区

领取腾讯云代金券