code: def map_(key, value, *tail) -> Expression:
      """
      Creates a map of expressions.
  
      Example:
      ::
  
          >>> tab.select(
          >>>     map_(
          >>>         "key1", 1,
          >>>         "key2", 2,
          >>>         "key3", 3
          >>>     ))
  
      .. note::
  
          keys and values should have the same types for all entries.
      """
      gateway = get_gateway()
      tail = to_jarray(
          gateway.jvm.Object, [_get_java_expression(t) for t in tail]
      )
      return _ternary_op("map", key, value, tail)
  
imports: from typing import Union
  from pyflink import add_version_doc
  from pyflink.java_gateway import get_gateway
  from pyflink.table.expression import Expression, _get_java_expression, TimePointUnit, JsonOnNull
  from pyflink.table.types import _to_java_data_type, DataType
  from pyflink.table.udf import UserDefinedFunctionWrapper
  from pyflink.util.java_utils import to_jarray, load_java_class
label_desc: Use image node_id 32 for calling a global function with example usage: map_(key, value) and returns: _ternary_op