Set容器:

特点:无序、不重复

Set实现了Collection接口

常用方法见API

遍历:

迭代器、foreach

常用类:

HashSet:

底层结构:HashMap,使用其中的键来存储元素

元素不重复的标准:元素类的hashCode()和equals()

TreeSet:

底层结构:TreeMap,使用其中的键存储元素

特点:存储即排序

构造方法:

TreeSet()

构造一个新的,空的树组,根据其元素的自然排序进行排序。

TreeSet(Collection<? extends E> c)

构造一个包含指定集合中的元素的新树集,根据其元素的 自然排序进行排序 。

TreeSet(Comparator<? super E> comparator)

构造一个新的,空的树集,根据指定的比较器进行排序。

TreeSet(SortedSet<E> s)

构造一个包含相同元素的新树,并使用与指定排序集相同的顺序。

元素不重复的标准:比较器,0表示重复,非0表示不重复

Collections:collection工具类

Arrays:数组的工具类

//set集合是用来存储不重复的对象   set集合是无序
//set集合的遍历不能使用下标,就无法从set集合中获取特定元素
// 问  看  删

//重写hashCode方法和重写equals方法的建议是
//如果equals比较下来两个对象是相似的话,那么最好两个对象的hashCode的值一样
//如果两个对象的hashCode一样的话,那么两个对象比较出来的equals结果应该是一样

Java学习笔记之——Set容器的更多相关文章

  1. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  2. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  3. Java学习笔记--Swing用户界面组件

    很多与AWT类似. 事件处理参考:Java学习笔记--AWT事件处理 1.设计模式: 模型:存储内容视图:显示内容控制器:处理用户输入· 2. 文本输入常用组件 2.1 文本域: JLabel lab ...

  4. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  5. java学习笔记11--集合总结

    java学习笔记系列: java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Ob ...

  6. 20145230《java学习笔记》第九周学习总结

    20145230 <Java程序设计>第9周学习总结 教材学习内容 JDBC JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作, ...

  7. java学习笔记之基础篇

    java选择语句之switch   //switch可以用于等值判断 switch (e) //int ,或则可以自动转化成int 的类型,(byte char short)枚举jdk 7中可以防止字 ...

  8. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  9. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

随机推荐

  1. 深入理解JVM(七)——性能监控工具

    前言 工欲善其事必先利其器,性能优化和故障排查在我们大都数人眼里是件比较棘手的事情,一是需要具备一定的原理知识作为基础,二是需要掌握排查问题和解决问题的流程.方法.本文就将介绍利用性能监控工具,帮助开 ...

  2. JAVA高性能I/O设计模式

    Java中的IO方式 主要分为3种:BIO(同步阻塞).NIO(同步非阻塞)和AIO(异步非阻塞). BIO 同步阻塞模式.在JDK1.4以前,使用Java建立网络连接时,只能采用BIO方式,在服务器 ...

  3. IIS集中化管理与编程REST API

    目录 一.       简介.... 1 二.       安装.... 1 三.       IIS Administration配置文件.... 2 四.       Web UI管理界面.... ...

  4. 深入理解Spring Redis的使用 (三)、使用RedisTemplate的操作类访问Redis

    上一篇说了RedisTemplate对注解事务的支持,以及提供的序列化器. 事务需要开启enableTransactionSupport,然后使用@transactional注解,里面直接通过回调的c ...

  5. 注解式controller开发,action找不到controller???

    Spring这一列列的 ,  配置是真的多,学完我都忘啦  那个配置是干什么的了. 这里我遇到的问题是  我前台 使用action请求controller中的方法时,却找不到 报错404. 首先你路径 ...

  6. 容器云架构中使用gorouter+haproxy作为流量入口

    ​ 小贴士 Gorouter 项目地址:https://github.com/cloudfoundry/gorouter/Gorouter来源于CloudFoundry.是一个高性能.轻量级的路由器及 ...

  7. python获取当前运行程序的名字

    import os filename = os.path.abspath(__file__) print filename 打印结果: E:\bluedon\test.py

  8. 【Zara原创】SqlSugar4轻量级ORM框架的使用指南

    前言:sqlSugar出生已经有3年之久了,从1.0到现在的4.x的版本,为了以后方便使用SqlSugar,所以特意花了2个小时来叙述它. 关于SqlSugar 性能:性能最好的ORM之一,具有超越D ...

  9. JDK1.8源码(二)——java.util.LinkedList

      LinkedList定义 LinkedList 是链表实现的线性表(双链表),元素有序且可以重复. public class LinkedList<E> extends Abstrac ...

  10. 《你必须知道的.NET》读书实践:一个基于OO的万能加载器的实现

    此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.关于万能加载器 简而言之,就是孝顺的小王想开发一个万能程序,可以一键式打开常见的计算机资料,例如: ...