TreeSet具体应用
知识是用来运用的,一辈子用不上的等于没学,学了忘了的等于没学,学了不会用的等于没学
//TreeSetDemo2.javapackage saturday2;
import java.util.HashSet;
import java.util.Iterator;
import java.util.TreeSet;
public class TreeSetDemo2 {
public static void main(String[] args) {
TreeSet<Student> t=new TreeSet<Student>();
Student s1 = new Student("liudehua",52);
Student s2 = new Student("chenglong",60);
Student s3 = new Student("zhouxingchi",44);
Student s4 = new Student("sunyang",34);
Student s5 = new Student("lingqingxia",36);
Student s6 = new Student("lingqingxia",26);
Student s7 = new Student("lingqing",26);
t.add(s1);
t.add(s2);
t.add(s3);
t.add(s4);
t.add(s5);
t.add(s6);
t.add(s7);
for(Student st:t){
System.out.println(st);
}
System.out.println("==================");
System.out.println("华丽的分割线");
System.out.println("==================");
Iterator<Student> iterator1 = t.iterator();
while(iterator1.hasNext()){
System.out.println(iterator1.next());
}
}
}
//Student.java package saturday2;
public class Student implements java.lang.Comparable {//实现Comparable接口,对对象数组排序
private String name;
private int age;
public Student(){
super();
}
public Student(String name, int age){
super();
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;
}
public boolean equals(Object obj){
if(this==obj){
return true;
}
if(!(obj instanceof Student)){
return false;
}
Student s = (Student) obj;
return(this.age==s.age);
}
@Override
public int compareTo(Object o){ // 实现 Comparable 接口的抽象方法,定义排序规则
Student p = (Student)o;
return this.age - p.age; // 升序排列,反之降序
}
@Override
public String toString(){
return("Student [name="+name+",age="+age+"]");
}
}
|
TreeSet具体应用的更多相关文章
- HashSet HashTable 与 TreeSet
HashSet<T>类 HashSet<T>类主要是设计用来做高性能集运算的,例如对两个集合求交集.并集.差集等.集合中包含一组不重复出现且无特性顺序的元素. HashSet& ...
- 计算机程序的思维逻辑 (44) - 剖析TreeSet
41节介绍了HashSet,我们提到,HashSet有一个重要局限,元素之间没有特定的顺序,我们还提到,Set接口还有另一个重要的实现类TreeSet,它是有序的,与HashSet和HashMap的关 ...
- HashSet,TreeSet和LinkedHashSet的区别
Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false.Set判断两个对象相同不是使用==运算符,而是根据equals方法.也就是说,只要两个对象用eq ...
- 集合 LinkedList、ArrayList、Set、Treeset
LinkedList中特有的方法: 1:方法介绍 addFirst(E e) addLast(E e) getFirst() getLast() removeFirst() removeLast() ...
- TreeSet
一.TreeSet中的元素比较有两种方式 1.定义一个类,实现Comparable接口 复写的是comparato方法 2.定义一个类,实现Comparator接口,覆盖compara方法(此种方法 ...
- HashSet和TreeSet
package com.wzy.list; import java.util.HashSet; import java.util.Iterator; import java.util.Set; imp ...
- Java 集合类 TreeSet、TreeMap
TreeMap和TreeSet的异同: 相同点: TreeMap和TreeSet都是有序的集合,也就是说他们存储的值都是拍好序的. TreeMap和TreeSet都是非同步集合,因此他们不能在多线程之 ...
- JAVA中的TreeSet
TreeSet简介 TreeSet是一个有序的集合,它的作用是提供一个有序的Set集合,它继承于AbstractSet抽象类实现了NavigableSet<E>, Cloneable, j ...
- Leetcode: LFU Cache && Summary of various Sets: HashSet, TreeSet, LinkedHashSet
Design and implement a data structure for Least Frequently Used (LFU) cache. It should support the f ...
- 【皇甫】☀ TreeSet
-Set: 元素是无序(存入和取出的顺序不一致),元素不可以重复 |-- HashSet: 底层数据结构是哈希表 HashSet是如何保证元素的唯一性的呢? 是通过元素的两个方法,hashCode和e ...
随机推荐
- 1_Linux_目录简介
1. Linux中所以内容以文件形式保存,包括硬件,所以在用命令行配置文件时,该配置仅仅是临时生效. 2. Linux不靠扩展名区分类型,而是靠文件权限.之所以有扩展名是为了便于管理. .rpm二 ...
- XML 序列化与PULL解析
简介 Pull解析XML XmlPullParser解析器的运行方式与SAX解析器相似.它提供了类似的事件(开始元素和结束元素),但需要使用parser.next()方法来提取它们.事件将作为数值代码 ...
- FineUI开发实践-目录
点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...
- CSS before和after伪元素
CSS中有一个特性允许我们添加额外元素而不扰乱文档本身,它们是以CSS选择器的形式出现的,具有标签的表现效果,但是呢又不是真正的标签元素,所以叫做“伪元素”.下面就说一下常见的两个伪元素before和 ...
- 读写Excel
有读Excel,也有生成相同格式的Excel.需要引用Microsoft.Office.Interop.Excel.dll public string ShiPin() { //获取项目下的目录 st ...
- ASP.NET生成压缩文件(rar打包)
首先引用ICSharpCode.SharpZipLib.dll,没有在这里下载:http://files.cnblogs.com/files/cang12138/ICSharpCode.SharpZi ...
- c - 根据首字母判断星期几
#include <stdio.h> #include <ctype.h> /* 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母. */ ...
- XML 标记使用的特殊字符对应内置实体
下表为 XML 标记使用的字符列出了五种内置实体. 实体 实体引用 含义 lt < <(小于号) gt > >(大于号) amp & &(“and”符) a ...
- Python文件之----JSON
#coding=utf-8import json def writeJSON(filaName="test.json"): f=open(filaName, "wb&qu ...
- 【USACO 1.2.2】方块转换
[问题描述] 一块N x N(1<=N<=10)正方形的黑白瓦片的图案要被转换成新的正方形图案.写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式: 1:转90度:图案按顺 ...