JAVA集合三:几种Set框架
参考链接:
HOW2J.CN
HashSet简单讲解
HashSet
HashSet与C++STL中Set基本类似,具有的特点便是:
- 集合中元素不可重复
- 集合中元素顺序 ≠ 插入顺序
常用方法 | 功能 |
---|---|
add | 向集合中添加元素 |
clear | 清空集合 |
remove | 删除集合中指定元素 |
contains | 查看是否包含某个元素 |
size | 集合中元素的数量 |
package blog;import java.util.HashSet;public class Main {public static void main(String[] args) {HashSet<Integer> set = new HashSet<Integer>();int[] data = {1,2,3,2,1,2,4,6,3,1,3,8,9,4,23,2};//筛除data中的重复元素for(int i = 0; i < data.length; i++) {set.add(data[i]);}//遍历集合for(Integer i : set) {System.out.print(i+" ");}}
}
运行结果如下(顺序并不是加入集合的顺序):
1 2 3 4 6 23 8 9
LinkedHashSet 与 TreeSet
LinkedHashSet、TreeSet操作与HashSet基本无二,但是LinkedHashSet使得集合中的元素按照插入的顺序排列,而TreeSet使得集合中的元素按照大小顺序排列
package blog;import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.TreeSet;public class Main {public static void main(String[] args) {HashSet<Integer> set = new HashSet<Integer>();LinkedHashSet<Integer> linkSet = new LinkedHashSet<Integer>();TreeSet<Integer> treeSet = new TreeSet<Integer>();int[] data = {1,2,3,2,1,2,4,6,3,1,3,8,9,4,23,2,14,16,15};//筛除data中的重复元素for(int i = 0; i < data.length; i++) {int temp = data[i];set.add(temp);linkSet.add(temp);treeSet.add(temp);}//遍历集合for(Integer i : set) {System.out.print(i+" ");}System.out.println();for(Integer i : linkSet) {System.out.print(i+" ");}System.out.println();for(Integer i : treeSet) {System.out.print(i+" ");}}
}
三个集合的遍历结果如下(从上到下依次是HashSet、LinkedSet、TreeSet):
16 1 2 3 4 6 23 8 9 14 15
1 2 3 4 6 8 9 23 14 16 15
1 2 3 4 6 8 9 14 15 16 23
JAVA集合三:几种Set框架相关推荐
- 按照姓名升序排序的代码_好程序员Java培训分享Java集合的两种排序方法
好程序员Java培训分享Java集合的两种排序方法,Java集合的工具类Collections中提供了两种排序的方法,分别是: 1.Collections.sort(List list) 2.Coll ...
- java 集合初始化_6种方法初始化JAVA中的list集合
List 是 Java 开发中经常会使用的集合,你们知道有哪些方式可以初始化一个 List 吗?这其中不缺乏一些坑,今天栈长我给大家一一普及一下. 1.常规方式 List languages = ne ...
- Java集合(三):Queue队列
前面介绍了列表,其中包括List接口和LinkedList链表和ArrayList数组列表.这节介绍一个也很常见的数据结构:队列. 我们知道,队列是一个可以从尾部添加新元素.从头部删除元素的数据结构. ...
- java基础—自定义一个比较器,按照字符串的长度升序的方法来比较字符串进行储存(java集合三)
自定义一个比较器,按照字符串的长度升序的方法来比较字符串进行储存 import java.util.Comparator; import java.util.Iterator; import java ...
- Java集合(三、Hashtable)
Hashtable源码实现上和HashMap基本上没什么大的差别,有兴趣可以查看HashMap一章了解下. 要点总结 1.Hashtable不支持key或者value为null的情况,HashMap和 ...
- 容器(一)剖析面试最常见问题之 Java 集合框架
转载自https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/Java%E9%9B%86%E5%90%88%E ...
- java list有序还是无序_牛批!2w字的Java集合框架面试题精华集(2020最新版),赶紧收藏。...
一个多月前,作者和一些小伙伴决定做一系列的 Java 知识点常见重要问题的小册,方便用来夯实基础!小册的标准就一个,那就是:取精华,取重点.每一本小册,我们都会充分关注我们所总结的知识点是否达到这个标 ...
- 「Java面试题精华集」1w字的Java集合框架篇(2022最新版)附PDF版
昨天晚上终于把 Java 集合框架部分的的知识点肝完了,转换成 PDF 一共 25 页,后台回复:"面试突击" 即可免费获取下载地址(同样提供了夜间阅读版本). 集合概述 Java ...
- Java集合(一)集合框架概述
文章目录 一.集合框架 1.1 常用的集合 1.2 线程安全的集合 1.3 "fail-fast"机制 1.3.1 "fail-fast"机制是什么 1.3.2 ...
最新文章
- 爬虫之requests模块cookieJar对象转换为cookies字典的方法
- 带参函数_更好的理解Python第五弹函数预处理与指针
- 深入探讨C++中的引用(转)
- OCLint+Xcode 代码规范利器
- poj 2255 Tree Recovery
- java基础总结01-简介
- 不是美工,如何使用ps快速更换图标icon的颜色?
- English trip V2 - 8 Holidays and Birthdays Teacher:Julia Key: at on in
- mac上更新go版本
- CAD多行文本中文字的堆叠
- python中的row函数均方_均方位移python(Mean square displacement python)
- Arduino的详细介绍(基于Mega2560)
- 一套Python入门视频
- Ubuntu下mosquitto 的使用
- 最精确的手机电量校正方法,完全恢复电量,提高使用时间
- 面试之Java性能优化
- 《作为意志和表象的世界》_世界作为表象初论_叔本华
- JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)
- 清华深圳研究生院计算机报录比,最新全国各大高校各专业考研报录比率.xls
- 炒外汇需要关注哪些信息?
热门文章
- python自学行吗-上万程序员总结:自学Python,掌握到什么程度就可以找工作了?...
- 零基础学python知乎-编程零基础应当如何开始学习 Python?
- python官方下载电脑版-Python for windows
- python模式识别
- 百度AI语音语义一体化技术 识别的同时进行语义分析
- pagerank数据集_机器学习十大经典算法-PageRank(附实践代码)
- linux 桥接stp原理,Linux操作系统网桥源码框架初步分析
- javaweb通过iis实现域账号免登陆_聊天小程序的Java实现
- 巴斯勒相机外部触发接线_2021新疆欧姆龙相机回收童嫂无欺
- AAC规格(LC,HE,HEv2)及性能对比