首页 > 其他分享 >TreeSet排序规则

TreeSet排序规则

时间:2024-06-08 10:00:28浏览次数:13  
标签:set name String add Student 规则 排序 public TreeSet

自然排序Comparable的使用

使用空参构造方法创建TreeSet集合

自定义的Student类实现Comparable接口,接口对他实现的每一个类创建了一个接口

package algorithm.set;

import java.util.HashSet;

/**
 * @author xiaowang
 * @creat 2024/6/7 23:05
 * @Description Java Lotus
 */
public class HashSetDemo01 {
    public static void main(String[] args) {
        HashSet<String> set=new HashSet<>();
        set.add("html");
        set.add("javascript");
        set.add("java");
        set.add("mysql");

        if(set.contains("html")){
            set.remove("html");
        }

        for (String s : set) {
            System.out.println(s);

        }
    }
}


package algorithm.set;

import java.util.HashSet;

/**
 * @author xiaowang
 * @creat 2024/6/7 23:05
 * @Description Java Lotus
 */
public class HashSetDemo02 {
    public static void main(String[] args) {
        HashSet<Student> studentSet=new HashSet<>();

        studentSet.add(new Student("熊大", 23));
        studentSet.add(new Student("光头强", 24));
        studentSet.add(new Student("熊二", 22));
        studentSet.add(new Student("熊大", 24));

        for (Student student : studentSet) {
            System.out.println(student);

        }
    }
}


package algorithm.set;

import java.util.LinkedHashSet;

/**
 * @author xiaowang
 * @creat 2024/6/7 23:06
 * @Description Java Lotus
 */
public class LinkedHashSetDemo01 {
    public static void main(String[] args) {
        LinkedHashSet<Integer>set=new LinkedHashSet<>();
        set.add(200);
        set.add(300);
        set.add(100);
        set.add(100);

        for (Integer integer : set) {
            System.out.println(integer);

        }
    }
}


package algorithm.set;

/**
 * @author xiaowang
 * @creat 2024/6/7 23:06
 * @Description Java Lotus
 */
public class Student implements Comparable<Student>{
    private String name;
    private int age;
    public Student(){

    }

    public Student(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(Student stu) {
        int result = this.name.compareTo(stu.name);
        if(result==0){
            result = this.age - stu.age;
        }


        return result;
    }
}


package algorithm.set;

import java.util.HashSet;
import java.util.Set;

/**
 * @author xiaowang
 * @creat 2024/6/7 23:06
 * @Description Java Lotus
 */
public class SetDemo01 {
    public static void main(String[] args) {
        Set<String>set=new HashSet<>();
        set.add("html");
        set.add("mysql");
        set.add("java");
        set.add("mysql");
        System.out.println(set);

        for (String s : set) {
            System.out.println(s);

        }
    }
}


对于排序的过程中,可能是会出现报错的,使用我们可以去使用comparable接口去进行方法的重载

标签:set,name,String,add,Student,规则,排序,public,TreeSet
From: https://blog.csdn.net/Darling912/article/details/139536891

相关文章

  • 计数排序(排序终篇)
    1.计数排序2.排序的稳定性1.计数排序1.1计数排序的概念计数排序就是把要排序的数组的里面的数据在有序的数组中记录次数,每个数据有多少个就在另一个数组(有序的)上对应的位置加多少,有俩个2就在有序的数组下标2的位置标2,最后把有序数组的元素按顺序一个一个搬过来,这样就把......
  • Java中运算与规则相关细节
    每日一句对待已然的事实,最快速度通关方法就是:觉察自己的心理和情绪,看见和观照,不断深呼吸,直到放下抗拒放弃排斥,直到接受事实全然接纳,全然巨服。对事实说:“是的”。然后看看,在接纳的基础上我还能做些什么。学习内容模运算a%b=a-a/b*b;符号取决于a++–自增和自......
  • 【医疗器械产品分类规则了解】
    分类目录由国家食品药品监督管理部门依据医疗器械分类规则制定:医疗器械按照风险程度由低到高,管理类别依次分为第一类、第二类和第三类。医疗器械风险程度,应当根据医疗器械的预期目的,通过结构特征、使用形式、使用状态、是否接触人体等因素综合判定。第一类医疗器械是风险程度......
  • 快速排序
    funcsortArray(nums[]int)[]int{quickSort(nums,0,len(nums)-1)returnnums}//快排,分治的思想,选一个中轴,//把小于中轴的元素放到左边,大于中轴的元素放到右边//然后递归处理中轴两边的元素funcquickSort(nums[]int,left,rightint){ifleft>=......
  • 8644 堆排序
    Description用函数实现堆排序,并输出每趟排序的结果输入格式第一行:键盘输入待排序关键的个数n第二行:输入n个待排序关键字,用空格分隔数据输出格式第一行:初始建堆后的结果其后各行输出交换堆顶元素并调整堆的结果,数据之间用一个空格分隔输入样例10548093267......
  • 【JS封装-数组操作】强化编程实践:精选JavaScript函数封装集锦-关于数组操作(数组去重、
    目录数组去重数组快速排序过滤数组映射数组数组扁平化数组求和数组最大值数组最小值数组切片数组乱序(洗牌算法)数组去重/***去除数组中的重复项。*@param{Array}array要去重的数组。*@returns{Array}去重后的数组。*/functionuniqueArray(array......
  • xpath常用的定位规则方法解析
     XPath是一种在XML文档中查找信息的语言,它同样适用于HTML文档,因为HTML可以被看作是一种特殊的XML。在XPath中,你可以使用各种表达式来定位元素。以下是XPath中元素定位的一些常见规则和方法:1.基本路径/ 表示根元素。// 表示选择文档中的节点,而不考虑它们的位......
  • 列举常见的排序和查找算法
    在编程和算法设计中,排序和查找算法是非常基础和重要的。以下是常见的一些排序和查找算法:排序算法冒泡排序(BubbleSort)原理:重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序......
  • 数据结构与算法-17_排序算法
    文章目录1.概述比较排序算法非比较排序算法稳定vs不稳定Java中排序2.冒泡排序3.选择排序4.堆排序5.插入排序6.希尔排序7.归并排序递归实现时间复杂度非递归实现8.归并+插入9.快速排序随机基准点处理重复值10.计数排序11.桶排序12.基数排序习题E01.根据另一个数组......
  • Java实现常见的排序算法
    ......