Java集合7 (NavigableSet)
2019独角兽企业重金招聘Python工程师标准>>>
java.util.NavigableSet 接口是java.util.SortedSet接口的子接口,它的行为特点和SortedSet类似。
除了拥有SortedSet的排序同能外还有一系列的导航方法。
在java6中NavigableSet只有TreeSet这一个实现类。
descendingIterator() and descendingSet()
NavigableSet original = new TreeSet();
// add somedata...
NavigableSet reverse = original.descendingSet();
descendingSet()方法返回一个与originall顺序相反的一个set集合。
返回的reverse集合是依靠original存在的,如果改变了reverse集合中的元素
同时也会对original中产生影响。
Iterator reverse = original.descendingIterator();
descendingIterator()方法允许你以迭代的方式去操作set集合并且并且不会改变集合内部顺序。
headSet(),tailSet()和subSet()
NavigableSet original = new TreeSet();
original.add("1");
original.add("2");
original.add("3");
// 返回元素"3"之前的所有元素集合 "headset 包含 "1","2"
// 返回的headset与original中存储的数据其实有着相同的引用
// 所以对headset的改变会作用到original上。
SortedSet headset = original.headSet("3");// boolean 类型参数代表是否包含本元素
// headset 包含 "1","2","3"
NavigableSet headset = original.headSet("3",true);
tailSet()方法工作原理headSet()方法一致,它返回的是比传入元素更大的集合。
subSet()方法则允许传入两个集合中的元素来确定起始与结束位置
NavigableSet original = new TreeSet();
original.add("1");
original.add("2");
original.add("3");
original.add("4");
original.add("5");// subset 中只包含"2","3"
SortedSet subset = original.subSet("2","4");// subset 中将包含"2","3","4"
NavigableSet subset = original.subSet("2",true,"4",true);
ceiling(),floor(),higher()和lower()
ceiling()方法将返回大于等于给定元素的所有元素中最小的一个元素。
floor()方法则与ceiling()相反,它返回一个小于等于指定元素的所有元素中最大的一个元素。
NavigableSet original = new TreeSet();
original.add("1");
original.add("2");
original.add("3");// ceilling = "2"
Object ceiling = original.ceiling("2");
// floor = "2"
Object floor = original.floor("2");
higher()方法返回大于指定元素中所有元素最小的一个元素
lower()方法与higher()相反,它返回小于指定元素中所有元素最大的一个
NavigableSet original = new TreeSet();
original.add("1");
original.add("2");
original.add("3");//higher = "3".
Object higher = original.higher("2");//lower = "1"
Object lower = original.lower("2");
pollFirst()和pollLst()
pollFirst()方法返回并且删除在NavigableSet中第一个元素,如果集合为空则返回null
pollLst()方法则返回并且删除NavigableSet中最后一个元素,集合为空也返回null
NavigableSet original = new TreeSet();
original.add("1");
original.add("2");
original.add("3");//first = "1"
Object first = original.pollFirst();//last = "3"
Object last = original.pollLast();
转载于:https://my.oschina.net/kevinair/blog/191081
Java集合7 (NavigableSet)相关推荐
- 【Java集合框架】16 ——NavigableSet 接口
一.NavigableSet 接口 是什么 NavigableSet表示Java集合框架中的一个可导航集.NavigableSet接口继承自SortedSet接口.它的行为类似于SortedSet,除 ...
- 考考基础部分,谈谈Java集合中HashSet的原理及常用方法
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:工匠初心 cnblogs.com/LiaHon/p/1125 ...
- java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类...
本文关键词: java集合框架 框架设计理念 容器 继承层级结构 继承图 集合框架中的抽象类 主要的实现类 实现类特性 集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...
- Java 集合框架 : Collection、Map
1. Collection接口是Java集合框架的基本接口,所所有集合都继承该接口. 1.1 方法 : public interface Collection<E> extends Ite ...
- java集合——视图与包装器
[0]README 0.1) 本文描述转自 core java volume 1, 源代码为原创,旨在理解 java集合--视图与包装器 的相关知识: 0.2) for full source cod ...
- java集合——集合框架
[0]README 0.1) 本文描述转自 core java volume 1, 源代码为原创,旨在理解 java集合--集合框架 的相关知识: [1]集合框架 1.1) java集合类库构成了集合 ...
- java集合——树集(TreeSet)+对象的比较
[0]README 0.1) 本文描述转自 core java volume 1, 源代码为原创,旨在理解 java集合--树集(TreeSet)+对象的比较 的相关知识: 0.2) for full ...
- Java集合框架之Collection实例解析
转载自https://blog.csdn.net/qq_28261343/article/details/52614411 0.集合引入 1)集合的由来? Java是面向对象编程语言,经常操作很多对象 ...
- Java 集合(初稿)
关于集合的详细介绍,推荐Java集合系列,以下是上面博客做的总结 Java集合是Java提供的工具包,包含了常用的数据结构:集合.链表.队列.栈.数组.映射等 Java各个集合也是和数组一样性质的元素 ...
最新文章
- equal与hashcode的区别
- 关于AttributeError:‘Flask‘ object has no attribute ‘ensure_sync‘的报错解决
- 给书配代码-电力经济调度(3):计及网络安全约束的经济调度模型
- python自带的统计函数_NumPy统计函数的实现方法
- 模板:K-D tree
- 《程序员面试宝典》精华 底层部分
- [Linux: 编程]如何调试GCC段错误-转
- 论文页眉奇偶页不同怎么设置_什么!论文排版这么简单的吗?!
- Java 开发流程、运行原理、JVM 规范与实现
- python如何开发一个程序思路_用python编写一个合格的ftp程序,思路是怎样的?
- 死磕Mosek!新mosek学习笔记1:VS项目配置。
- JAVA上传smartupload_java使用smartupload组件实现文件上传的方法
- 英文单词和数字断行不折叠
- LuoguP4568 分层图
- 【比较】2022 程式语言排名与分析,该学习哪一种程式语言?
- 微信跳转手机默认浏览器实现微信扫一扫功能扫码直接下载apk
- PHP 将XML转成数组(微信回调接收方法)
- 2022中国汽车测试及质量监控博览会邀请函
- 2012总结之pcode.Class
- 这4类人去创业和自由职业会死得很惨