Java中TreeMap的基本操作
TreeSet有四种种构造函数可以初始化
在代码中主要列出了常用的三种:
构造方法摘要 | |
---|---|
TreeSet() 构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。 |
|
TreeSet(Collection<? extends E> c) 构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。 |
|
TreeSet(Comparator<? super E> comparator) 构造一个新的空 TreeSet,它根据指定比较器进行排序。 |
|
TreeSet(SortedSet<E> s) 构造一个与指定有序 set 具有相同映射关系和相同排序的新 TreeSet。 |
package test;
import java.util.TreeSet;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.Arrays;
//TreeSet是一个不包含重复值的升序集合 public class test7 { public static void main(String[] args) {
//集合初始化方法1
System.out.println("集合初始化方法1");
TreeSet<Integer> set=new TreeSet<>();
System.out.println(set.add(1));
System.out.println(set.add(1));
set.add(3);
set.add(10);
set.add(2);
Iterator <Integer>ite =set.iterator();
while(ite.hasNext()){
System.out.println(ite.next());
}
//集合初始化方法1,另外一种构造方法
System.out.println("集合初始化方法2");
ArrayList <Integer> arr=new ArrayList<Integer>(Arrays.asList(new Integer[]{1,2,6,7,2,8}));
TreeSet<Integer> set2=new TreeSet<>(arr);
Iterator <Integer>ite1 =set2.iterator();
while(ite1.hasNext()){
System.out.println(ite1.next());
} System.out.println("输出第一个值");
System.out.println(set.first());
System.out.println("输出最后一个值");
System.out.println(set.last());
// 返回此 set 中严格大于给定元素的最小元素
System.out.println(set.higher(3));
// 返回此 set 中大于等于给定元素的最小元素;
System.out.println(set.ceiling(3));
//// 返回此 set 中严格小于给定元素的最小元素;
System.out.println(set.lower(3));
// 返回此 set 中小于等于给定元素的最小元素;
System.out.println(set.floor(3));
// SortedSet<E> subSet(E fromElement, E toElement) 返回此 set 的部分视图,其元素从 fromElement(包括)到 toElement(不包括)。
TreeSet<Integer>subset=new TreeSet<>(set.subSet(0, 3));//输出前两个数
Iterator <Integer>it =subset.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
// SortedSet<E> headSet(E toElement) 返回此 set 的部分视图,其元素严格小于 toElement。
System.out.println("headSet");
TreeSet<Integer>headset=new TreeSet<>(set.headSet(3));//输出小于3的子集合
Iterator <Integer>it2 =headset.iterator();
while(it2.hasNext()){
System.out.println(it2.next());
} //SortedSet<E> tailSet(E fromElement) 返回此 set 的部分视图,其元素大于等于 fromElement。
System.out.println("tailSet");
System.out.println("TreeSet的第三种初始化方法");
TreeSet<Integer>tailset=new TreeSet<>(set.tailSet(3));//输出大于等于3的子集合
Iterator <Integer>it3 =tailset.iterator();
while(it3.hasNext()){
System.out.println(it3.next());
} // E pollFirst()获取并移除第一个(最低)元素;如果此 set 为空,则返回 null。pollLsat()移除最后一个数
System.out.println("pollfist");
System.out.println(set.pollFirst()); //size()集合大小
System.out.println("size()");
System.out.println(set.size()); // boolean contains(Object o)
System.out.println("contains()");
System.out.println(set.contains(1)); //isEmpty()
System.out.println("isEmpty()");
System.out.println(set.isEmpty()); //clear()
System.out.println("clear()");
set.clear();
System.out.println("是否清空集合:"+set.isEmpty());
}
}
Java中TreeMap的基本操作的更多相关文章
- java中treemap和treeset实现(红黑树)
java中treemap和treeset实现(红黑树) TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点. TreeSet 和 Tre ...
- Java中TreeMap集合讲解
1.TreeSet介绍 TreeSet是一个有序集合,可以以任意顺序将元素插入到集合中,在对集合进行遍历的时候,每个元素将自动按照排序后的顺序呈现.底层使用的是二叉树(更具体点是红黑树)实现,对于元素 ...
- java中TreeMap集合的常用方法
实现Map集合的方法这里就不在讲了 https://www.cnblogs.com/xiaostudy/p/9510763.html public Map.Entry<K,V> ceili ...
- 浅谈TreeMap以及在java中的使用
treemap结构是红黑树 1.先介绍一下平衡二叉树 其特点是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树.也就是说该二叉树的任何一个子节点,其左右子树的高度 ...
- servlet中Java连接数据库后的基本操作
servlet中Java连接数据库后的基本操作 在eclipse中新建一个工程:login 在Server中新建一个服务器,基本的操作不用说了,在前两天的笔记中可以找到; 需要知道数据库的用户名和密码 ...
- Java中HashMap,LinkedHashMap,TreeMap的区别[转]
原文:http://blog.csdn.net/xiyuan1999/article/details/6198394 java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类 ...
- java集合TreeMap应用---求一个字符串中,每一个字母出现的次数
package cn.itcast.p1.map.test; import java.util.Iterator; import java.util.Map; import java.util.Tre ...
- Java中HashMap和TreeMap的区别深入理解
首先介绍一下什么是Map.在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.这就是我们平时说的键值对. Has ...
- java中的TreeMap如何顺序按照插入顺序排序
java中的TreeMap如何顺序按照插入顺序排序 你可以使用LinkedHashMap 这个是可以记住插入顺序的. 用LinkedHashMap吧.它内部有一个链表,保持插入的顺序.迭代的时候,也 ...
随机推荐
- Oracle 11g 静默安装-db_install.rsp详解
转自--------------https://blog.csdn.net/jameshadoop/article/details/48086933 :db_install.rsp详解 ####### ...
- 项目的发布(nginx、uwsgi、django、virtualenv、supervisor)
导论 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收请求,处理请求,响应请求) 基于wsgi运行的框架 ...
- 发送邮件【文本-html】【图片】【邮件】【附件】
依赖 <!-- https://mvnrepository.com/artifact/javax.mail/mail --> <dependency> <groupId& ...
- 贪吃蛇GamePanel Java实现(二)
package cn.tcc.snake.tcc.View; import java.awt.Color;import java.awt.Graphics; import javax.swing.JP ...
- http://ctf.bugku.com/challenges#Easy_Re
今天做一道逆向题,开心,见证了自己汇编的用途. 首先看它是否加壳? 1.加壳检测 是vc编程的,没有加壳,可以愉快地分析了. 2.分析程序,找到flag. 首先运行一下子程序, ...
- 公告栏添加时钟——利用canvas画出一个时钟
前言 最近在学习HTML5标签,学到Canvas,觉得很有趣.便在慕课网找了个demo练手.就是Canvas时钟. 对于canvas,w3shcool上是这么描述的: HTML5 <canvas ...
- vue-webpack项目本地开发环境设置代理解决跨域问题
前言: 一般跨域问题只要后端配置好的话,是不需要前端做处理的,但也不能保证你遇到的所有后端都能很好的处理这个问题,这个时候可能就需要前端设置代理解决这个问题了. 配置方法: 1. config/ind ...
- vue动态绑定类样式ClassName知多少
对于动态绑定类样式,之前用的最多的也就是:class="{'classA':true}" ,今天遇到一种情况,就是要给元素动态添加一个保存在数据源中的类样式,那前边的这种写法显然满 ...
- stark组件之注册【模仿Django的admin】
一.先看下django的admin是如何实现注册功能 首先导入admin这个对象和我们的model模块 from django.contrib import admin # Register your ...
- 用webstorm开发前端项目前的一些配置
每日的开发都在紧张中进行,代码的运用和流通性大,有些想酝酿品尝的东西,来不及停留而留下遗憾,基于此,想起几次前辈们的建议,用写博客来记录这些曾在我们内心荡漾的一些东西. 需要安装的软件:WebStor ...