美文网首页
Collection集合

Collection集合

作者: 哓晓的故事 | 来源:发表于2019-01-02 10:42 被阅读0次

hashcode() 和 equals() 方法最好都同时重写

  1. equals相等,hashcode一定相等
  2. hashcode相等,equals不一定相等
  3. 如上约定,equals判断复杂,可以通过hashcode快速定位,而Java Object中的hashcode实际上是对象地址的int
  4. 在集合判断的时候往往是先判断hashcode,在对比equals

Set:

  1. HashSet使用hashCodeequals对元素进行contains判断
  2. 如何判断新增的数据是否重复
  - 会先判断hashcode()是否相等
    - 如果相等
      - 判断equals()是否相等
        - 相等认为数据存在
        - 不相等认为数据不存在
    - 如果不相等,认为数据不存在
  1. 无序,存储是按照hashcode存储,因此存储元素的顺序不是按照存入顺序保存
  2. 不能为空

HashSet是无序不重复,非线程安全,
TreeSet是有序比较不重复(红黑树结构 -> 左小右大,叶子节点为黑,根节点为黑,新增红节点,删除红节点)

  • 比较方式使用Comparable比较方式,及Comparator比较方式同时存在,以Comparator为主

LinkedHashSet有序不重复,采用链表结构

List:

  1. ArrayList使用equals对元素进行contains判断
  2. 如何判断新增的数据是否重复
equals()是否相等?相等则存在,否则不存在
  1. 存储按照存入的顺序保存
  2. 可以为空

BlockingQueue 阻塞队列:

特点:

  1. 线程安全
  2. 可定义缓存区大小
  3. 继承自AQS实现并发编程

有缓存区
ArrayBlockingQueue put和take共享一个lock,因此无法做到真正意义上的并行
LinkedBlockingQueueput和take独立一个lock
PriorityBlockingQueueput没有阻塞,get无数据时会阻塞,需要控制生产者速度
无缓冲区:(等待理解)
SynchronousQueue 生产者和消费者直接对接,没有对应的则阻塞

相关文章

  • Java基础之常用集合

    集合分为单列集合(Collection)和双列集合(Map),先说单列集合Collection Collecti...

  • JAVA基础---Collection集合 List

    ##一 Collection集合 ### 01 集合体系结构 a:Collection 集合(单身汉集合) ...

  • 哪些类继承了Collection接口

    Collection集合的基本结构: 1、Collection接口 Collection是最基本集合接口,它定义了...

  • 3/10day07_Collection_迭代器_泛型_数据结构

    今日内容 Collection集合 迭代器 泛型 数据结构 Collection集合[重点] 集合的介绍,集合和数...

  • 集合框架

    Collection Collection集合是单列集合的顶层接口。Collection表示一组对象,这些对象也称...

  • 用流收集数据

    Collection、Collector和Collect的区别: Collection:Collection是集合...

  • Java Collection集合

    Collection集合 collection集合作为List集合和Set集合共有的父类拥有着List集合和Set...

  • Java实战开发篇-8 集合

    集合 一、简介 1.集合分为Collection集合和List集合(1)Collection是集合类的一个接口,它...

  • JAVA基础(五)

    集合的由来? 集合和数组的区别? Collection集合的功能概述? Collection集合存储字符串并遍历?...

  • JJJJJava集合

    集合与数组的区别 Collection集合的方法 常用集合的分类 Collection 接口的接口 对象的集合(单...

网友评论

      本文标题:Collection集合

      本文链接:https://www.haomeiwen.com/subject/gsxosftx.html