当前位置: 首页 > news >正文

TreeSet的排序方式

不重复,无索引,可排序,基于红黑树的数据结构、

第一种排序方式:

比较a后,比较第二个字母,b大于a所以ab在aaa后。c>a所以cd在aba后面。

实现类:

在Student类中实现Comparable接口,可以规定排序方式

原理图:this表示当前要添加元素,o表示已经存在的红黑树元素,返回值i<0认为添加的元素是小的,存左边,正数存右边,0表示已存在,舍弃掉。

用默认排序进行练习:

排序方式Student类中国

@Overridepublic int compareTo(Student o) {int sum1 = this.getChinese() + this.getMath() + this.getEnglish();int sum2 = o.getChinese() + o.getMath() + this.getEnglish();int i = sum1 - sum2;i = i == 0 ? this.chinese - o.getChinese() : i;i = i == 0 ? this.getMath() - o.getMath() : i;i = i == 0 ? this.getEnglish() - o.getEnglish() : i;i = i == 0 ? this.getAge() - o.getAge() : i;i = i == 0 ? this.getName().compareTo(o.getName()):i;return i;}
}

测试类中:

import java.util.TreeSet;public class TreeSe {static void main() {Student s1 = new Student("chen",23,90,99,50);Student s2 = new Student("wang",24,90,98,50);Student s3 = new Student("cao",24,90,98,50);Student s4 = new Student("cai",26,95,100,30);Student s5 = new Student("zhang",26,70,80,70);//2.TreeSet<Student> ts = new TreeSet<Student>();ts.add(s1);ts.add(s2);ts.add(s3);ts.add(s4);ts.add(s5);for (Student t : ts) {System.out.println(t);}}
}

结果如图:

第二种排序方式:比较器排序

用此方法来进行字符串长度的排序,因为默认的排序满足不了要求,(默认的排序是按照首字母,依次进行大小排序)

假如方式一和方式二都存在,以方式二为主

http://www.dtcms.com/a/606739.html

相关文章:

  • FILE的本质
  • 5.5、Python-字符串去重
  • (论文速读)基于拉曼光谱深度学习的改进拉曼半定量分析成像去噪方法
  • 自然的算法:从生物进化到智能优化 —— 遗传算法的诗意与硬核“
  • wp企业网站模板网站模块建设方案
  • 使用腾讯云建设网站教程黄页网站建设
  • 基于微信小程序的民宿预定系统
  • 网站建设域名空间网站建设项目签约仪式举行
  • 做网站应该用什么数据库做五金有哪些网站推广
  • 积分法对IMU(陀螺仪加速度计) LSB(Least Significant Bit)验证
  • 爱网站最新发布址做淘宝网站怎么弄
  • 物理信道、信号、映射的介绍
  • 个人站长做网站需要多少钱wordpress转换为html
  • 如何处理自动化测试中的动态元素?
  • soular实战教程系列(1) - 安装与配置
  • JS宏连接数据库:使用Connections创建的对象
  • 如何建立公司网站是什么自己的服务器做网站域名解析
  • 设计一款高效的短链服务系统
  • 算法33.0
  • 建造个网站花多少钱今天福州头条新闻
  • 优秀简历制作网站wordpress主题更换字体教程 hu
  • 如何在沟通不畅导致误解后进行修复
  • c语言编译器哪个好用 | 探讨选择合适C语言编译器的标准与建议
  • 广州十度网络网站开发最好潍坊网站seo
  • 38.附近商户实现
  • 做网站 帮别人卖服务器成都网站设计
  • 园林景观网站源码做网站前应该先出图
  • Zookeeper 基础入门与应用场景解析
  • 雅虎做网站推广网站设计网页设计
  • cms建设网站官方网站的优势