package util;

import java.util.Comparator;

import java.util.Iterator;

import java.util.Set;

import java.util.TreeSet;

/**

*

* @author yjmao

* @deprecated TreeSet的常用方法小结

* @version V1.0.0

* @see 使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。

*/

public class LearnTreeSet {

//subSet

//headSet

//tailSet

//comparator()

public static void main(String[] args){

//easyMethod();

//hardMethod();

}

public static void hardMethod(){

TreeSet setA = new TreeSet();

TreeSet setB = new TreeSet();

TreeSet setAll = new TreeSet();

setA.add("aaa");

setA.add("bbb");

setA.add("ccc");

Iterator iteratorA = setA.iterator();

while(iteratorA.hasNext()){

String s = (String) iteratorA.next();

System.err.print(s + ",");

}

System.err.println("\naddAll之后:");

setB.add("ddd");

setB.add("eee");

//addAll():将指定 collection 中的所有元素添加到此 set 中。

setA.addAll(setB);

Iterator iteratorB = setA.iterator();

while(iteratorB.hasNext()){

String s = (String) iteratorB.next();

System.err.print(s + ",");

}

System.err.print("\n返回第一元素:");

//first():返回此 set 中当前第一个(最低)元素。

String f = setA.first();

System.err.println(f);

System.err.print("返回最后一个元素:");

//last():返回此 set 中当前最后一个(最高)元素。

String l = setA.last();

System.err.println(l);

System.err.print("比ccc小的最大元素:");

//lower():返回此 set 中严格小于给定元素的最大元素;如果不存在这样的元素,则返回 null。

String minMax = setA.lower("ccc");

System.err.println(minMax);

System.err.print("比ccc小的最大元素(包括ccc):");

//floor():返回此 set 中小于等于给定元素的最大元素;如果不存在这样的元素,则返回 null。

String maxeMin = setA.floor("ccc");

System.err.println(maxeMin);

System.err.print("比ccc大的最小元素(包括ccc):");

//ceiling():返回此 set 中大于等于给定元素的最小元素;如果不存在这样的元素,则返回 null。

String maxdMin = setA.ceiling("ccc");

System.err.println(maxdMin);

System.err.print("比ccc大的最小元素:");

String maxMin = setA.higher("ccc");

System.err.println(maxMin);

System.err.print("原来SetA的元素:");

Iterator iteratorAA = setA.iterator();

while(iteratorAA.hasNext()){

String s = (String) iteratorAA.next();

System.err.print(s + ",");

}

//pollFirst():获取并移除第一个(最低)元素

String fr = setA.pollFirst();

System.err.println("\n第一个元素:" + fr);

System.err.print("移除第一个元素后SetA的元素:");

Iterator iteratorAR = setA.iterator();

while(iteratorAR.hasNext()){

String s = (String) iteratorAR.next();

System.err.print(s + ",");

}

//pollLast():获取并移除最后一个(最高)元素

String lr = setA.pollLast();

System.err.println("\n最后一个元素:" + lr);

System.err.print("移除最后一个元素后SetA的元素:");

Iterator iteratorAL = setA.iterator();

while(iteratorAL.hasNext()){

String s = (String) iteratorAL.next();

System.err.print(s + ",");

}

}

public static void easyMethod(){

TreeSet set = new TreeSet();

//isEmpty():判断集合是否为空

boolean b = set.isEmpty();

System.err.println("集合是否为空:" + b);

//add():将指定的元素添加到此 set(如果该元素尚未存在于 set 中)。

set.add("aaa");

set.add("ddd");

set.add("bbb");

set.add("ccc");

//size():返回 set 中的元素数(set 的容量)。

System.err.println("集合中元素的个数:" + set.size());

//contains():如果此 set 包含指定的元素,则返回 true

boolean c = set.contains("aaa");

System.err.println("集合中是否包含aaa:" + c);

//iterator():返回在此 set 中的元素上按升序进行迭代的迭代器。(默认为升序排列)

Iterator iterator = set.iterator();

while(iterator.hasNext()){

String s = (String) iterator.next();

System.err.print(s + ",");

}

System.err.println("\n本身自带的集合降序排列");

//descendingIterator():返回在此 set 元素上按降序进行迭代的迭代器。

Iterator iteratorD = set.descendingIterator();

while(iteratorD.hasNext()){

String s = (String) iteratorD.next();

System.err.print(s + ",");

}

System.err.println("\ntreeSet集合降序排列");

Set treeSet = new TreeSet(new Comparator(){

public int compare(String d1,String d2){

return d2.compareTo(d1);

}

});

treeSet.add("aaa");

treeSet.add("bbb");

treeSet.add("ccc");

Iterator iteratorDesc = treeSet.iterator();

while(iteratorDesc.hasNext()){

String s = (String) iteratorDesc.next();

System.err.print(s + ",");

}

System.err.println("\nremove('aaa')后");

//remove():将指定的元素从 set 中移除(如果该元素存在于此 set 中)。

treeSet.remove("aaa");

Iterator iteratorR = treeSet.iterator();

while(iteratorR.hasNext()){

String s = (String) iteratorR.next();

System.err.print(s + ",");

}

//clear():移除此 set 中的所有元素

treeSet.clear();

System.err.println("\ntreeSet是否为空:" + treeSet.isEmpty());

}

}

treeset java api_JAVAAPI学习值TreeSet类相关推荐

  1. 一个编程小白的Java SE学习日志 V——类、对象【极客BOY-米奇】

    文章目录 前言(转载请说明作者!)3.18~3.25编写 观看前自问 面向对象实现过程 面向对象三大特性 封装 继承 多态 如何理解类与对象(实例)的关系? 现实理解 如何理解对象? 现实理解 任务导 ...

  2. java集合学习笔记 ---Collections类对集合的处理

    2019独角兽企业重金招聘Python工程师标准>>> 包名:java.util.Collections Collections是个类,不是接口 有以下方法,部分列举 1.对List ...

  3. java基础学习5---包装类及常用方法

    java中的数据类型 包装类与基本数据类型 java中提供了8中基本类型:6中数字类型(4个整数型,2个浮点型),1种字符类型,还有1种布尔类型. 整数: int .short.byte.long,初 ...

  4. JAVA每日学习 Day31---抽象类和接口的含义、共性、区别

    抽象类和接口的含义.共性.区别 抽象类和接口

  5. java值的传递_Java 8可选–基于值的类使用指南

    java值的传递 In this article, we will go through the use of Java 8 Optional class and understand what a ...

  6. JAVA复习5(TreeSet)

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

  7. 深入java虚拟机学习 -- 类的加载机制(续)

    昨晚写 深入java虚拟机学习 -- 类的加载机制 都到1点半了,由于第二天还要工作,没有将上篇文章中的demo讲解写出来,今天抽时间补上昨晚的例子讲解. 这里我先把昨天的两份代码贴过来,重新看下: ...

  8. 学java要背的单词_学习JAVA必背的8类常用单词

    Java常用的词还是挺多的,初学者有空多看看,对快速入门Java编程还是有益的.本文沈阳达内IT培训为大家介绍学习JAVA必背的8类常用单词. 1.保留关键字(2个) const --常量,常数:用于 ...

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

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

  10. Java基础学习——第十章 枚举类注解

    Java基础学习--第十章 枚举类&注解 一.枚举类(enum) 1. 枚举类的概念 枚举类:类的对象只有有限个,确定的 线程状态:创建.就绪.运行.阻塞.死亡 当需要定义一组常量时,强烈建议 ...

最新文章

  1. 微信jssdk批量添加卡券接口(踩坑经验)
  2. 自学python需要什么配置的电脑-入门学python需要什么配置的电脑?
  3. CCNA2 - Module 2 Exam Answers (05/07/2008 14:30)
  4. React 中的父子组件 兄弟组件传值
  5. linux服务器做页面,linux服务器搭建在线预览环境
  6. 演练 望炉山瀑布文字样式 0929
  7. 鼠标双击成了查看属性是怎么回事?怎样解决?
  8. 软件工程专业就业方向
  9. Q learning
  10. 京东推荐商品列表API接口-(item_recommend-获取推荐商品列表API接口),京东API接口
  11. python之利用Pygal+2010年世界人口=绘制世界地图
  12. Charles抓包出现弹窗问题或者无法抓包https问题汇总
  13. 魔方教学系统(基于QT)
  14. EBox3300开发简明流程
  15. 曾经写的俄罗斯方块源码 2021-06-13
  16. 家用游戏机的历史:世嘉、任天堂和 PlayStation 的故事
  17. 地理信息系统概论复习重点
  18. c语言二进制代码相关问题
  19. 【转】最新版Tinyumbrella4.21.02备份iPad SHSH教程
  20. 【Python】找到含有指定关键词的PDF

热门文章

  1. 【雷达通信】基于matlab GUI雷达定位【含Matlab源码 302期】
  2. 【雷达通信】基于matlab线性调频(LFM)脉冲压缩雷达仿真【含Matlab源码 283期】
  3. 一年成为ai算法工程师_我作为一名数据科学研究员所学到的东西在一年内成为了AI领导者...
  4. python文件传输模块_Python socket模块ftp传输文件过程解析
  5. 在vue中实现picker样式_vue mint-ui学习笔记之picker的使用
  6. ireport中band指什么_金庸武侠经典书剑恩仇录中,“书剑”指的究竟是什么呢?...
  7. idea 调节背景护眼_网易严选皓月护眼台灯评测:真正专业智能台灯,保护眼睛设计超强...
  8. ShowDoc v2.4.8 发布,IT团队的在线 API 文档工具
  9. Oracle备份还原实践
  10. 《用户至上:用户研究方法与实践》道德与法律问题