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吧.它内部有一个链表,保持插入的顺序.迭代的时候,也 ...
随机推荐
- 【Nodejs】ExpressのRequestとResponseの内容
Request 对象 - request 对象表示 HTTP 请求,包含了请求查询字符串,参数,内容,HTTP 头部等属性.常见属性有: req.app:当callback为外部文件时,用req.ap ...
- Maven 基本参数
-h,--help Display help information-am,--also-make ...
- LibreOJ 6280 . 数列分块入门 4
题目链接:https://loj.ac/problem/6280 加一个数组保存块的和. 代码: #include<iostream> #include<cstring> #i ...
- 字符串 String 格式化 format
String str=String.format("Hi,%s", "王力"); 保留两位数的整数: String str=String.format(&quo ...
- axios介绍
原文地址:lewis1990@amoy axios 基于promise用于浏览器和node.js的http客户端 特点 支持浏览器和node.js 支持promise 能拦截请求和响应 能转换请求和响 ...
- string类的一些函数方法
1.请查看String.equals()方法的实现代码,注意学习其实现方法: (1)源程序: public class StringEquals { /** * @param args the com ...
- UVa 536 Tree Recovery(二叉树后序遍历)
Little Valentine liked playing with binary trees very much. Her favorite game was constructing rando ...
- bbs项目引入富文本编辑器和处理xss攻击和文章预览
一.富文本编辑上传文章和图片 富文本编辑器我们使用kindeditor,我们首先去官网下载,然后解压,放到我们的static的目录中 然后我们在html中这样使用富文本编辑器 <!DOCTYPE ...
- 842. Split Array into Fibonacci Sequence能否把数列返回成斐波那契数列
[抄题]: Given a string S of digits, such as S = "123456579", we can split it into a Fibonacc ...
- 关于Laravel框架
第1讲-Laravel介绍 1.1 什么是Laravel laravel是目前一个比较主流的框架,现在很多互联网的公司都在使用该框架.该框架的前身是symfony框架 Laravel的定位就是做一个简 ...