该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

为什么添加重复元素 E 也能添加进去 ?我运行了下看。

先是 添加了 A,然后添加 E,E 和A比较;添加C,C和A、E比较;添加F,F和C、E比较,(为什么F不先和A比较);添加B,B和 C ,E,F比较(为什么B不先和A比较?);最后添加有重复的元素 E,为什么E先和C 比较? 为什么不再和原来的E比较了? 不懂!

import java.util.*;

class Student implements Comparable

{

private String name;

private int math,english,chinese;

private int sum;

Student(String name ,int math,int english,int chinese)

{

this.name = name;

this.math = math;

this.english = english;

this.chinese = chinese;

sum = math+english+chinese;

}

public String getName()

{

return name;

}

public int getSum()

{

return sum;

}

public String toString()

{

return getName()+":"+getSum();

}

public int compareTo(Object obj) //对元素进行比较

{

Student s=(Student)obj;

if(this.getSum()>s.getSum()) //分数大的时候

{

System.out.println(this.name+":"+this.sum+">>>>."+s.name+":"+s.sum);

return 1;

}

else if(this.getName().equals(s.getName()) && this.getSum()==s.getSum()) //同一个人的时候

{

System.out.println(this.name+":"+this.sum+"====="+s.name+":"+s.sum);

return 0;

}

else //分数小或者是 分数相等但是不是同一个人的时候

{

System.out.println(this.name+":"+this.sum+"<<<<

return -1;

}

}

}

class StudentSetDemo

{

public static void main(String[] args)

{

TreeSet ts = new TreeSet();

ts.add(new Student("A",10,20,30));

ts.add(new Student("E",40,20,30));

ts.add(new Student("C",20,20,50));

ts.add(new Student("F",60,20,60));

ts.add(new Student("B",70,10,40));

ts.add(new Student("E",40,20,30)); //有重复,但是结果也添加进去了,不知道为什么

Iterator iter = ts.iterator();

while(iter.hasNext())

{

System.out.println(iter.next());

}

}

}

java treeset 重复,关于 TreeSet 为什么我这样写,还有是有重复的记录啊啊啊啊相关推荐

  1. JAVA复习5(TreeSet)

    Set 接口 特点: 最大的特点 就是集合中的元素 不可重复  其也是Collection接口的子接口 , Set本身也是一个接口,同样不能直接使用,需要实例化该接口的实现类 Set接口下面的实现类: ...

  2. java treeset subset_Java中TreeSet的详细用法

    第1部分 TreeSet介绍 TreeSet简介 TreeSet 是一个有序的集合,它的作用是提供有序的Set集合.它继承于AbstractSet抽象类,实现了NavigableSet, Clonea ...

  3. java tree 类_Java TreeSet类

    首页 > 基础教程 > 集合框架 > TreeSet类 Java TreeSet类 TreeSet是SortedSet接口的实现,元素不论以什么元素插入,在遍历的时候,都会以天然顺序 ...

  4. java set的first_Java TreeSet pollFirst()方法与示例

    TreeSet类pollFirst()方法pollFirst()方法在java.util包中可用. pollFirst()方法用于返回第一个最小元素,然后从此TreeSet中删除第一个元素. poll ...

  5. java subset_Java中的TreeSet的subSet()方法 Java.util.TreeSet.subSet() - Break易站

    Java中的TreeSet Java.util.TreeSet.subSet()用于返回参数中提到的范围内现有TreeSet的子集.该方法采用上限和下限并返回该范围中提到的所有元素.如果元素存在于集合 ...

  6. java集合方法之TreeSet.floor()和TreeSet.ceiling()

    floor(E e) 方法返回在这个集合中小于或者等于给定元素的最大元素,如果不存在这样的元素,返回null. ceiling(E e) 方法返回在这个集合中大于或者等于给定元素的最小元素,如果不存在 ...

  7. java集合 测试对TreeSet的使用

    1.定义一个Employee类.. 该类包含: private 成员变量name,age,birthday, 其中birthday 为MyDate类的对象;. 并为每一个属性定义 getter stt ...

  8. JAVA集合05_Collection.toMap()应用、三个重载方法、解决重复key问题

    文章目录 ①. Collectors.toMap介绍 ②. Collectors.toMap有三个重载方法 ③. 收集一下属性和对象本身 ④. 常见的java.lang.IllegalStateExc ...

  9. Java List去重 Lis集合去重 List去重效率对比 List去重复元素效率对比 List去重效率

    Java  List去重 Lis集合去重 List去重效率对比 List去重复元素效率对比 List去重效率 --- List 去重复元素的几种办法 一.概述 面试的时候,有个常见的问题:" ...

最新文章

  1. -lt -gt -ge -le -eq的意义
  2. python pandas for循环_高逼格使用Pandas加速代码,向for循环说拜拜!
  3. php u6536编码转,详谈PHP编码转换问题
  4. 【嵌入式】ARM技术博客汇总
  5. MySQL 中的三中循环 while loop repeat 的基本用法
  6. Spring集成–使用RMI通道适配器
  7. STM32-SPI通信
  8. java esc的_如何用Java中的Receipt打印机和ESC / POS命令提高速度
  9. Hierarchical clustering
  10. 小白安装linux系统一键,小白如何快速安装vos3000,一键快速安装VOS
  11. 获取json格式中属性—sql
  12. CocosCreator微信小游戏之排行榜
  13. 员工身高体重决定能否晋升?自如回应
  14. TLS原理及证书生成
  15. 使用拦截器或者AOP实现权限管理(OA系统中实现权限控制)
  16. 锤子手机T1发布:售价3000元起 7月初上市
  17. qq一键登入帝国cms插件|适用7.5 7.2版本|UTF-8 GBK双版本
  18. NVIDIA GEFORCE 2080 / 2080 SUPER / 2080 Ti + CUDA Toolkit 8.0 深度学习模型加载速度慢
  19. ZZULIOJ 1197: 考试排名(一)(结构体专题)
  20. 技术面试(上):面试官篇

热门文章

  1. CC讲坛-大脑疾病背后的秘密-许执恒
  2. 扩增子文献笔记1白杨内生和根际微生物组在不同生态位存在特异的群落结构
  3. R语言关联规则挖掘数据集预览、分析、筛选:项目数的分布形态(分位数、密度图)、itemFrequency函数统计每一项目在所有事务中出现的次数、最常发生的项目、数据筛选(交易的集合项目大于1)
  4. R语言ggplot2可视化时间序列数据:ggplot2可视化在时间轴上添加按月的箱图(boxplot)
  5. plotly基于dataframe数据绘制股票蜡烛图(Candlestick)
  6. R读取json文件并转化为dataframe
  7. 交叉熵损失函数、修正Huber损失、极大似然估计、负对数似然、似然与交叉熵、KL散度
  8. adc参考电压是直流交流_无位置传感器无刷直流电机换相误差校正的新方法
  9. MMD_6b_DecisionTree
  10. mysql general bin区别_MySQL中几种常见的日志