Hutool Hutool
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
  • 快速入门

  • 核心(hutool-core)

    • AI(Hutool-ai)

    • 注解(annotation)

    • 数组(array)

    • JavaBean(bean)

    • 缓存(cache)

    • 类加载器(classloader)

    • 编码解码(codec)

    • 集合(collection)

    • 比较器(comparator)

    • 压缩(compress)

    • 类型转换(convert)

    • 数据(data)

    • 日期时间(date)

    • 异常(exception)

    • 函数(func)

    • IO流(io)

    • 语言特性(lang)

    • Map(map)

      • 简介
      • MapUtil
      • MapBuilder
        • 功能介绍
        • 主要特性
        • 适用场景
        • 使用示例
          • 示例1:基本用法
          • 示例2:创建特定类型的Map
          • 示例3:构建不可变Map
          • 示例4:批量添加键值对
        • 注意事项
        • 方法列表
      • MapJoiner
      • MapGetUtil
      • CaseInsensitiveMap
      • CamelCaseMap
      • BiMap
      • FixedLinkedHashMap
      • ForestMap
      • Dict
      • MultiValueMap
      • ListValueMap
      • SetValueMap
      • Table
      • SoftConcurrentMap
      • WeakConcurrentMap
      • WeakKeyConcurrentMap
      • ConcurrentLinkedHashMap
    • 数字数学(math)

    • 网络(net)

    • 对象池(pool)

    • 反射(reflect)

    • 正则(regex)

    • 服务提供(spi)

    • 聚合操作(stream)

    • 字符串文本(text)

    • 并发和线程(thread)

    • 树结构(tree)

    • 工具集合(util)

    • XML操作(xml)

  • 定时任务(hutool-cron)

  • 加密(hutool-crypto)

  • 数据库(hutool-db)

  • 扩展(hutool-extra)

  • HTTP(hutool-http)

  • 日志(hutool-log)

  • 配置文件(hutool-setting)

  • JSON(hutool-json)

  • Office办公(hutool-poi)

  • 套接字(hutool-socket)

  • GUI(hutool-swing)

  • 指南
  • 核心(hutool-core)
  • Map(map)
Hutool
2026-01-19
目录

MapBuilder

# 功能介绍

MapBuilder是Hutool中用于便捷创建Map的构建器类,提供了链式调用的方式来创建和初始化Map对象。它支持多种Map实现类型,并允许在创建过程中灵活添加键值对。

# 主要特性

  • 支持链式调用,简化Map创建和初始化
  • 支持多种Map实现(HashMap、LinkedHashMap、TreeMap等)
  • 支持批量添加键值对
  • 支持构建不可变Map
  • 支持自定义Map工厂

# 适用场景

  1. 需要创建并初始化多个键值对的Map
  2. 希望通过链式调用简化代码
  3. 需要创建特定类型的Map(如有序Map、不可变Map)
  4. 需要批量添加键值对到Map中

# 使用示例

# 示例1:基本用法

// 创建HashMap并添加键值对
Map<String, Object> map = MapBuilder.create()
    .put("name", "hutool")
    .put("version", "7.0.0")
    .put("author", "looly")
    .build();
// 输出: {name=hutool, version=7.0.0, author=looly}

# 示例2:创建特定类型的Map

// 创建LinkedHashMap(保持插入顺序)
Map<String, Object> linkedMap = MapBuilder.createLinkedHashMap()
    .put("b", 2)
    .put("a", 1)
    .put("c", 3)
    .build();
// 输出: {b=2, a=1, c=3}(保持插入顺序)

// 创建TreeMap(按键排序)
Map<String, Object> treeMap = MapBuilder.createTreeMap()
    .put("b", 2)
    .put("a", 1)
    .put("c", 3)
    .build();
// 输出: {a=1, b=2, c=3}(按键排序)

# 示例3:构建不可变Map

// 创建不可变Map
Map<String, Object> immutableMap = MapBuilder.create()
    .put("name", "hutool")
    .put("version", "7.0.0")
    .buildImmutable();
// immutableMap.put("author", "looly"); // 会抛出UnsupportedOperationException

# 示例4:批量添加键值对

// 批量添加键值对
Map<String, Object> map = MapBuilder.create()
    .putAll(Map.of("name", "hutool", "version", "7.0.0"))
    .put("author", "looly")
    .build();
// 输出: {name=hutool, version=7.0.0, author=looly}

# 注意事项

  1. MapBuilder是线程不安全的,不建议在多线程环境下使用
  2. 构建不可变Map后,尝试修改会抛出UnsupportedOperationException
  3. 默认情况下,MapBuilder创建的是HashMap实例
  4. 链式调用的顺序会影响Map中键值对的插入顺序(对于LinkedHashMap)

# 方法列表

方法名 描述 参数 返回值
create() 创建默认的HashMap构建器 无 MapBuilder<K, V>
create(Class<? extends Map<K, V>> mapClass) 创建指定类型的Map构建器 mapClass: Map类型 MapBuilder<K, V>
create(Map<K, V> map) 使用已有Map创建构建器 map: 已有Map MapBuilder<K, V>
createHashMap() 创建HashMap构建器 无 MapBuilder<K, V>
createLinkedHashMap() 创建LinkedHashMap构建器 无 MapBuilder<K, V>
createTreeMap() 创建TreeMap构建器 无 MapBuilder<K, V>
put(K key, V value) 添加键值对 key: 键, value: 值 MapBuilder<K, V>
putAll(Map<? extends K, ? extends V> map) 批量添加键值对 map: 键值对集合 MapBuilder<K, V>
build() 构建Map 无 Map<K, V>
buildImmutable() 构建不可变Map 无 Map<K, V>
MapUtil
MapJoiner

← MapUtil MapJoiner→

Theme by Vdoing | Copyright © 2025-2026 Hutool | Apache-2.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式