Class MapBuilder<K,V>

java.lang.Object
cloud.opencode.base.core.builder.MapBuilder<K,V>
Type Parameters:
K - Key type - Key 类型
V - Value type - Value 类型
All Implemented Interfaces:
Builder<Map<K,V>>

public class MapBuilder<K,V> extends Object implements Builder<Map<K,V>>
Map Builder - Fluent builder for Map instances Map 构建器 - Map 实例的流式构建器

Creates Map instances with fluent API supporting various Map implementations.

使用流式 API 创建 Map 实例,支持多种 Map 实现。

Features | 主要功能:

  • Multiple Map types (HashMap, LinkedHashMap, TreeMap) - 多种 Map 类型
  • Conditional put (putIfNotNull, putIf) - 条件添加
  • Batch operations (putAll) - 批量操作
  • Unmodifiable result (unmodifiable) - 不可变结果

Usage Examples | 使用示例:

Map<String, Object> map = MapBuilder.<String, Object>hashMap()
    .put("key1", "value1")
    .put("key2", "value2")
    .putIfNotNull("key3", nullableValue)
    .build();

Map<String, Integer> immutable = MapBuilder.<String, Integer>of()
    .put("a", 1)
    .unmodifiable()
    .build();

Security | 安全性:

  • Thread-safe: No (builder instance not thread-safe) - 线程安全: 否
  • Null-safe: Yes (values can be null) - 空值安全: 是

Performance | 性能特性:

  • Time complexity: O(1) amortized per put - 每次put均摊 O(1)
  • Space complexity: O(n) where n = number of entries - O(n), n为条目数
Since:
JDK 25, opencode-base-core V1.0.0
Author:
Leon Soo www.LeonSoo.com
See Also:
  • Constructor Details

    • MapBuilder

      public MapBuilder()
    • MapBuilder

      public MapBuilder(Supplier<Map<K,V>> mapSupplier)
  • Method Details

    • of

      public static <K,V> MapBuilder<K,V> of()
      Creates 创建构建器
    • of

      public static <K,V> MapBuilder<K,V> of(Supplier<Map<K,V>> mapSupplier)
      Creates 创建构建器(指定 Map 实现)
    • hashMap

      public static <K,V> MapBuilder<K,V> hashMap()
      Creates 创建 HashMap 构建器
    • linkedHashMap

      public static <K,V> MapBuilder<K,V> linkedHashMap()
      Creates 创建 LinkedHashMap 构建器
    • treeMap

      public static <K extends Comparable<K>, V> MapBuilder<K,V> treeMap()
      Creates 创建 TreeMap 构建器
    • put

      public MapBuilder<K,V> put(K key, V value)
      Adds 添加键值对
    • putIfNotNull

      public MapBuilder<K,V> putIfNotNull(K key, V value)
      Conditionally adds a key-value pair (adds when non-null) 条件添加键值对(非 null 时添加)
    • putIf

      public MapBuilder<K,V> putIf(boolean condition, K key, V value)
      Conditionally adds a key-value pair 条件添加键值对
    • putAll

      public MapBuilder<K,V> putAll(Map<? extends K, ? extends V> m)
      Adds in batch 批量添加
    • remove

      public MapBuilder<K,V> remove(K key)
      Removes a key 移除键
    • unmodifiable

      public MapBuilder<K,V> unmodifiable()
      Sets 设置为不可变
    • configure

      public MapBuilder<K,V> configure(Consumer<MapBuilder<K,V>> consumer)
      Configuration callback 配置回调
    • build

      public Map<K,V> build()
      Description copied from interface: Builder
      Builds the target object. 构建目标对象。
      Specified by:
      build in interface Builder<K>
      Returns:
      the built object | 构建的对象
    • size

      public int size()
      Gets 获取当前大小
    • containsKey

      public boolean containsKey(K key)
      Checks 检查是否包含键