HashTable、Properties、TreeSet及如何选择集合实现类详解

HashTable、Properties、TreeSet详解及如何选择集合实现类

1. HashTable说明

  1. 存放的是键值对,即 k - v
  2. hashTable的键和值都不能为null,否则会抛出NullPointerException
  3. hashTable使用方法基本上和HashMap一致
  4. hashTable是线程安全的(synchronized),hashMap是线程不安全的

2. Properties类说明

1. 基本介绍
  1. Properties类继承自HashTable类并且实现了Map 接口,也是一种键值对的形式来保存数据
  2. 它的只用特点和HashTable类似
  3. Properties还可用于从 xx.properties文件中,加载数据到Properties类对象,并进行读取和修改
  4. 说明:xx.properties文件通常作为配置文件

3. 如何选择集合实现类

  • 选择什么集合实现类,主要取决于业务操作特点
  1. 先判断存储的类型(一组对象【单列】或一组键值对【双列】)

  2. 一组对象【单列】:Collection接口

    • 允许重复:List

      • 增删多:LinkedList(底层维护了一个双向链表)
      • 改查多:ArrayList(底层维护了Object类型的可变数组)
    • 不允许重复: Set

      • 无序:HashSet (底层是HashMap,维护了一个哈希表即数组+链表+红黑树)
      • 排序:TreeSet
      • 插入和取出顺序一致:LinkedHashSet,数组+双向链表
  3. 一组键值对【双列】:Map

    • 键无序:HashMap
    • 键排序:TreeMap
    • 键插入和取出顺序一致:LinkedHashMap
    • 读取文件:Properties

4. TreeSet说明

  1. 当我们使用无参构造器创建TreeSet时,任然是无序的
  2. 希望在添加元素时,按照字符串大小进行排列
  3. 则使用TreeSet提供的一个构造器,可以传入一个比较器(匿名内部类),并指定排序规则
posted @   mx_info  阅读(77)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示