泛型和TreeSet的应用(一)

简介: package cn.us; import java.util.Iterator; import java.util.TreeSet; //泛型和TreeSet的应用(一) //存入TreeSet集合中的元素是无序的,但有方法给它排序 ...
package cn.us;
import java.util.Iterator;
import java.util.TreeSet;
//泛型和TreeSet的应用(一)
//存入TreeSet集合中的元素是无序的,但有方法给它排序
//排序方式一:让元素自身具备比较性,需元素实现Comparable接口
//核心:重写Comparable接口的方法compareTo(Object obj)
//if (tea.age == this.age) //年纪相同时再按照姓名排序!!!
//         return this.name.compareTo(tea.name);
//因为String也类实现了此接口,当然就可以调用compareTo()方法
class Teacher implements Comparable {
	private int age;
	private String name;
	public Teacher(int age, String name) {
		this.age = age;
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public String getName() {
		return name;
	}
	@Override
	public String toString() {
		return "Teacher [age=" + age + ", name=" + name + "]";
	}
	@Override
	public int compareTo(Object obj) {//按照年纪排序
		Teacher tea = (Teacher) obj;
		if (tea.age < this.age) {
			return -1;
		}
		if (tea.age == this.age) {//年纪相同时再按照姓名排序!!!核心
			return this.name.compareTo(tea.name);
		}
		if (tea.age > this.age) {
			return 1;
		}
		return 0;
	}

}

public class Test4 {
  public static void main(String[] args) {
        Teacher teac1=new Teacher(25, "lim");
        Teacher teac2=new Teacher(26, "uim");
        Teacher teac3=new Teacher(55, "zim");
        Teacher teac4=new Teacher(55, "mim");
        Teacher teac5=new Teacher(55, "cim");
        TreeSet<Teacher> treeSet=new TreeSet<Teacher>();
        treeSet.add(teac1);
        treeSet.add(teac2);
        treeSet.add(teac3);
        treeSet.add(teac4);
        treeSet.add(teac5);
        Iterator<Teacher> iterator=treeSet.iterator();
        while(iterator.hasNext()){
        	//Teacher t=(Teacher) iterator.next();
        	Teacher t=iterator.next();//避免了上句的强转
        	System.out.println(t.getName()+"的年纪是"+t.getAge());
        }
  }
}

相关文章
|
SQL 前端开发 JavaScript
基于java+springboot的求职招聘网站-求职招聘管理系统
该系统是基于java+springboot开发的求职招聘网站、网上招聘管理系统、网上人才招聘系统、毕业生求职招聘系统、大学生求职招聘系统、校园招聘系统、企业招聘系统。是给师弟开发的毕业设计。
501 1
|
编解码 负载均衡 监控
RPC远程调用
RPC远程调用
|
语音技术
word文档生成视频,自动配音、背景音乐、自动字幕,另类创作工具
这是一个Markdown格式的摘要: --- 这款工具独特之处在于它允许用户通过在Word文档中添加文字和图片来创作视频,包括配音、字幕和背景音乐。软件界面虽显复杂,但生成视频只需四步:选择Word文档、添加音乐、设置保存路径、点击开始生成。最新版1.15b改进了字幕自动换行功能,支持手动调整,修复了网络错误、文件路径问题和图片缩放等错误。软件提供永久免费使用,支持离线生成(需自建TTS),并鼓励用户自定义TTS和特效插件。下载链接可在官方页面找到。 --- 请注意,实际字符数可能会根据Markdown格式的要求略有变动,但主要内容已经压缩在这个范围内。
320 1
|
机器学习/深度学习 人工智能 自然语言处理
人工智能AI风口已开:如何赋予UI设计与视频剪辑新生命
AI正深刻影响UI设计和视频剪辑行业。在UI设计中,AI提供智能辅助设计,跨模态生成和个性化定制,帮助设计师提高效率,创新设计。AI分析趋势和用户行为,生成设计方案,支持语音和文本输入,增强设计的多样性和个性化体验。在视频剪辑领域,AI实现智能素材管理,自动化剪辑处理和特效生成,提升剪辑质量和速度。通过Adobe国际认证,设计师和剪辑师可以系统学习并掌握这些AI技术,提升职业竞争力,共同开创行业新未来。
|
人工智能 监控 安全
AI浅谈:计算机视觉(CV)技术的优势和挑战
AI浅谈:计算机视觉(CV)技术的优势和挑战
476 1
|
前端开发 JavaScript
路径中“./”、“../”、“/”代表的含义
路径中“./”、“../”、“/”代表的含义
637 0
|
Shell
(Mac)remotedebug-ios-webkit-adapter 无法运行,出现以下错误:ios_webkit_debug_proxy找不到。请安装 ios_webkit_debug_proxy (https://github.com/google/ios-webkit-debug-proxy) #74
(Mac)remotedebug-ios-webkit-adapter 无法运行,出现以下错误:ios_webkit_debug_proxy找不到。请安装 ios_webkit_debug_proxy (https://github.com/google/ios-webkit-debug-proxy) #74
873 0
|
C++
使用C++实现的学生成绩管理系统(附完整代码)
使用C++实现的学生成绩管理系统(附完整代码)
2306 0
使用C++实现的学生成绩管理系统(附完整代码)
|
机器学习/深度学习 IDE 前端开发
新手入门指南之玩转蓝桥云课(线上运行虚拟机,c++,Java,Javaweb,python环境,以及如何成功利用命令行运行这些环境)(2)
新手入门指南之玩转蓝桥云课(线上运行虚拟机,c++,Java,Javaweb,python环境,以及如何成功利用命令行运行这些环境)(2)
1864 0
新手入门指南之玩转蓝桥云课(线上运行虚拟机,c++,Java,Javaweb,python环境,以及如何成功利用命令行运行这些环境)(2)
|
数据采集 Java 数据挖掘
鲲鹏系列三: DevKit性能分析工具技术要点总结
系统性能的提升,需要综合考虑计算机硬件、操作系统、应用程序等多方面的因素,这些因素是互相影响的,要不断的调试、分析、调整相关参数,才能最终达到最优的系统性能。这一过程比较漫长,对人员的技术要求也比较高,很多情况下,调优人员在特定系统上花费了大量的时间,但是最终也不一定能达到性能的有效提升。
607 0
鲲鹏系列三: DevKit性能分析工具技术要点总结