Set精讲(Java)·算法常用集合处理方法

Set概述

Set集合类似于一个罐子,程序可以依次把多个对象“丢进”Set集合,而Set集合通常不能记住元素的添加顺序。实际上Set就是Collection只是行为略有不同(Set不允许包含重复元素)。

Set集合不允许包含相同的元素,如果试图把两个相同元素加入同一个Set集合中,则添加操作失败,add()方法返回false,且新元素不会被加入。

LinkedHashSet·有序,并且可以自动处理重复值

HashSet有一个子类LinkedHashSet集合也是根据元素的hashCode值来决定元素的存储位置,但它同时使用链表维护元素的次序,这样使得元素看起来是以插入的顺序保存的,也就是说当遍历集合LinkedHashSet集合里的元素时,集合将会按元素的添加顺序来访问集合里的元素。

输出集合里的元素时,元素顺序总是与添加顺序一致。但是LinkedHashSet依然是HashSet,因此它不允许集合重复。

import java.util.LinkedHashSet;
import java.util.Set;public class SetFun {public static void main(String[] args) {//有序的set处理Set<Integer> set=new LinkedHashSet<Integer>();set.add(55);     set.add(22);        set.add(33);set.add(77);        set.add(11);        set.add(99);set.add(77);        set.add(11);        set.add(99);System.out.println("有序的:"+set);//遍历for (Integer integer : set) {System.out.print(integer+",");}System.out.println();System.out.println(set.contains(99)?"存在99":"不存在99");//Set转ArraySystem.out.println("转为数组类型");Integer[] array=new Integer[set.size()];set.toArray(array);//转换for (Integer integer : array) {System.out.print(integer+",");}}
}

效果如下:

Set精讲(Java)·算法常用集合处理方法相关推荐

  1. List精讲(Java版)·算法常用集合处理方法

    List精讲(Java版)·算法常用集合处理方法 请仔细查阅每一个注释: import java.util.ArrayList; import java.util.Collections; impor ...

  2. 幼儿教师计算机word知识点,幼儿教师资格证《综合素质》考点精讲:Word常用功能及操作举例...

    幼儿教师资格证<综合素质>考点精讲:Word常用功能及操作举例 Word常用功能及操作举例 1.查找与替换 查找字符:选择"编辑/查找"命令,在弹出的"查找和 ...

  3. html中init是什么作用,HTML5教程:精讲__init__、__new__、__call__方法(可面试用)

    原标题:HTML5教程:精讲__init__.__new__.__call__方法(可面试用) 任何事物都有一个从创建,被使用,再到消亡的过程,在程序语言面向对象编程模型中,对象也有相似的命运:创建. ...

  4. java基础 ArrayList集合基本方法演示

    java基础 ArrayList集合基本方法演示 import java.util.ArrayList; import java.util.Iterator;public class ArrayLis ...

  5. 面试官系统精讲Java源码及大厂真题 - 13 差异对比:集合在 Java 7 和 8 有何不同和改进

    13 差异对比:集合在 Java 7 和 8 有何不同和改进 更新时间:2019-09-19 09:39:16 时间像海绵里的水,只要你愿意挤,总还是有的. --鲁迅 引导语 Java 8 在 Jav ...

  6. 墨客网java_墨客网-知识拆解+经典定时任务案例 精讲Java定时任务框架Elastic-Job和Quartz...

    课程介绍 精讲Elastic-job + Quartz实现企业级定时任务 掌握分布式集群方式的定时任务框架,可以弥补企业中常用的单点任务的缺点,以更高的性能更好的稳定性处理分布式定时任务服务:本课程带 ...

  7. 精讲Java NIO

    Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API.本文将有助于你学习和理解Java NIO. Java NIO提供了与标准I ...

  8. 面试官系统精讲Java源码及大厂真题 - 04 Arrays、Collections、Objects 常用方法源码解析

    04 Arrays.Collections.Objects 常用方法源码解析 读一本好书,就是和许多高尚的人谈话. --歌德 引导语 我们在工作中都会写工具类,但如何才能使写出来的工具类更好用,也是有 ...

  9. 面试官系统精讲Java源码及大厂真题 - 03 Java 常用关键字理解

    03 Java 常用关键字理解 引导语 Java 中的关键字很多,大约有 50+,在命名上我们不能和这些关键字冲突的,编译会报错,每个关键字都代表着不同场景下的不同含义,接下来我们挑选 6 个比较重要 ...

最新文章

  1. java设置虚基类的目的_设置虚基类的目的是( )。
  2. Makefile条件推断 ——————————【Badboy】
  3. 第179天:javascript中replace使用总结
  4. 记一次继承了AbstractAuthenticationProcessingFilter 的过滤器被执行了两次问题
  5. JAVA中CyclLink怎么用_Java多线程基本使用一
  6. LeetCode 2195. 向数组中追加 K 个整数(贪心)
  7. 操作系统课设之Windows 的互斥与同步
  8. Python excle数据读写
  9. 一加8 Pro相机能“透视”,一加工程师:大家不要“有一个大胆的想法”
  10. 用面向对象的方式来编写javascript
  11. JSON.stringify方法详解
  12. TCP/UDP端口列表
  13. Harbor镜像清理
  14. 转让App开发者账号
  15. 导出excel.支持在线打开保存
  16. Windows7无法自动安装FT232RL驱动解决方法
  17. SD销售模式之MTS和MTO
  18. S3C4412学习笔记
  19. NetBeans中文字体显示问题
  20. 单片机学习笔记————51单片机实现带数码管显示的象棋比赛专用计时器

热门文章

  1. stl源码剖析_STL之set源码剖析
  2. c语言按F1键运行,C语言的编译和运行按什么键
  3. 最长公共子序列和追踪解
  4. socket认证客户端链接合法性
  5. jmeter压测之 监控--nmon
  6. 记录下UIButton的图文妙用和子控件的优先显示
  7. 前端编程提高之旅(六)----backbone实现todoMVC
  8. Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词
  9. Spring与Oauth2整合示例 spring-oauth-server
  10. DEDE 字符串操作常见问题