参考链接:

HOW2J.CN

HashSet简单讲解

HashSet

HashSet与C++STL中Set基本类似,具有的特点便是:

  1. 集合中元素不可重复
  2. 集合中元素顺序 ≠ 插入顺序
常用方法 功能
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框架相关推荐

  1. 按照姓名升序排序的代码_好程序员Java培训分享Java集合的两种排序方法

    好程序员Java培训分享Java集合的两种排序方法,Java集合的工具类Collections中提供了两种排序的方法,分别是: 1.Collections.sort(List list) 2.Coll ...

  2. java 集合初始化_6种方法初始化JAVA中的list集合

    List 是 Java 开发中经常会使用的集合,你们知道有哪些方式可以初始化一个 List 吗?这其中不缺乏一些坑,今天栈长我给大家一一普及一下. 1.常规方式 List languages = ne ...

  3. Java集合(三):Queue队列

    前面介绍了列表,其中包括List接口和LinkedList链表和ArrayList数组列表.这节介绍一个也很常见的数据结构:队列. 我们知道,队列是一个可以从尾部添加新元素.从头部删除元素的数据结构. ...

  4. java基础—自定义一个比较器,按照字符串的长度升序的方法来比较字符串进行储存(java集合三)

    自定义一个比较器,按照字符串的长度升序的方法来比较字符串进行储存 import java.util.Comparator; import java.util.Iterator; import java ...

  5. Java集合(三、Hashtable)

    Hashtable源码实现上和HashMap基本上没什么大的差别,有兴趣可以查看HashMap一章了解下. 要点总结 1.Hashtable不支持key或者value为null的情况,HashMap和 ...

  6. 容器(一)剖析面试最常见问题之 Java 集合框架

    转载自https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/Java%E9%9B%86%E5%90%88%E ...

  7. java list有序还是无序_牛批!2w字的Java集合框架面试题精华集(2020最新版),赶紧收藏。...

    一个多月前,作者和一些小伙伴决定做一系列的 Java 知识点常见重要问题的小册,方便用来夯实基础!小册的标准就一个,那就是:取精华,取重点.每一本小册,我们都会充分关注我们所总结的知识点是否达到这个标 ...

  8. 「Java面试题精华集」1w字的Java集合框架篇(2022最新版)附PDF版

    昨天晚上终于把 Java 集合框架部分的的知识点肝完了,转换成 PDF 一共 25 页,后台回复:"面试突击" 即可免费获取下载地址(同样提供了夜间阅读版本). 集合概述 Java ...

  9. Java集合(一)集合框架概述

    文章目录 一.集合框架 1.1 常用的集合 1.2 线程安全的集合 1.3 "fail-fast"机制 1.3.1 "fail-fast"机制是什么 1.3.2 ...

最新文章

  1. 爬虫之requests模块cookieJar对象转换为cookies字典的方法
  2. 带参函数_更好的理解Python第五弹函数预处理与指针
  3. 深入探讨C++中的引用(转)
  4. OCLint+Xcode 代码规范利器
  5. poj 2255 Tree Recovery
  6. java基础总结01-简介
  7. 不是美工,如何使用ps快速更换图标icon的颜色?
  8. English trip V2 - 8 Holidays and Birthdays Teacher:Julia Key: at on in
  9. mac上更新go版本
  10. CAD多行文本中文字的堆叠
  11. python中的row函数均方_均方位移python(Mean square displacement python)
  12. Arduino的详细介绍(基于Mega2560)
  13. 一套Python入门视频
  14. Ubuntu下mosquitto 的使用
  15. 最精确的手机电量校正方法,完全恢复电量,提高使用时间
  16. 面试之Java性能优化
  17. 《作为意志和表象的世界》_世界作为表象初论_叔本华
  18. JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)
  19. 清华深圳研究生院计算机报录比,最新全国各大高校各专业考研报录比率.xls
  20. 炒外汇需要关注哪些信息?

热门文章

  1. python自学行吗-上万程序员总结:自学Python,掌握到什么程度就可以找工作了?...
  2. 零基础学python知乎-编程零基础应当如何开始学习 Python?
  3. python官方下载电脑版-Python for windows
  4. python模式识别
  5. 百度AI语音语义一体化技术 识别的同时进行语义分析
  6. pagerank数据集_机器学习十大经典算法-PageRank(附实践代码)
  7. linux 桥接stp原理,Linux操作系统网桥源码框架初步分析
  8. javaweb通过iis实现域账号免登陆_聊天小程序的Java实现
  9. 巴斯勒相机外部触发接线_2021新疆欧姆龙相机回收童嫂无欺
  10. AAC规格(LC,HE,HEv2)及性能对比