Wei Zhang's Blog


  • 首页

  • 标签

  • 分类

  • 搜索

Java进阶-TreeSet 无法对自定义类型排序的

发表于 2020-05-27 | 分类于 Java
字数统计: 212 字 | 阅读时长 ≈ 1 分钟

TreeSet 集合无法对自定义类型进行排序

  • 以下程序中对于 Person 类型来说,无法排序。因为没有指定 Person 对象之间的比较规则。谁大谁小没有说明。
  • 程序运行时出现了以下异常:
    • java.lang.ClassCastException
      • test0527.Person cannot be cast to java.lang.Comparable
  • 出现异常的原因是:
    • Person 类没有实现 java.lang.Comparable 接口
阅读全文 »

Java进阶-演示 TreeSet 对 String 是可排序的

发表于 2020-05-27 | 分类于 Java
字数统计: 159 字 | 阅读时长 ≈ 1 分钟
  1. TreeSet 集合底层实际上是一个 TreeMap
  2. TreeMap 集合底层是一个二叉树
  3. 放到 TreeSet 集合中的元素,等同于放到 TreeMap 集合 key 部分了
  4. TreeSet 集合中的元素:无序不可重复,但是可以按照元素的大小顺序自动排序,称为:可排序集合
阅读全文 »

Java进阶-属性类 Properties 类

发表于 2020-05-27 | 分类于 Java
字数统计: 134 字 | 阅读时长 ≈ 1 分钟
  1. 目前只需要掌握 Properties 属性类对象的相关方法即可:存 和 取
    • pro.setProperty(key, value)
    • pro.getProperty(key)
  2. Properties 是一个 Map 集合,继承 Hashtable,Properties 的 key 和 value 都是 String 类型
  3. Properties 被称为属性类对象
  4. Properties 是线程安全的
阅读全文 »

Java进阶-HashMap 和 Hashtable 的区别

发表于 2020-05-27 | 分类于 Java
字数统计: 242 字 | 阅读时长 ≈ 1 分钟
  • HashMap 集合的 key 和 value 都是可以为 null 的,但是要注意:HashMap 集合的 key null 值只能有一个
  • Hashtable 集合的 key 和 value 都是不可以为 null 的,Hashtable 方法都带有 synchronized :线程安全的。线程安全有其他的方案,这个 Hashtable 对线程的处理导致效率较低,使用较少了
  • Hashtable 和 HashMap 一样,底层都是哈希表数据结构
  • Hashtable 的初始化容量是 11,默认加载因子是:0.75f
  • Hashtable 的*扩容是:原容量 * 2 + 1*
阅读全文 »

Java进阶-Java8 对 HashMap 集合的改进

发表于 2020-05-26 | 分类于 Java
字数统计: 104 字 | 阅读时长 ≈ 1 分钟
在 JDK8 之后,如果哈希表单向链表中元素超过 8 个,单向链表这种数据结构会变成红黑树数据结构,当红黑树上的节点数量小于 6 时,会重新把红黑树变成单向链表数据结构。 这种方式也是为了提高检索效率,二叉树的检索会再次缩小扫描范围,提高效率。
阅读全文 »
<1…858687…191>

一期一会

951 日志
46 分类
68 标签
GitHub E-Mail
© 2017 — 2022 Wei Zhang | Site words total count: 684.2k
 本站访客数 人  本站总访问量 次