# Create map from arrays > Supported in: Batch, Faster, Streaming Returns a map using key-value pairs from the zipped arrays. Null values are not allowed as keys and will cause a runtime error. **Expression categories:** Array, Map ## Declared arguments * **Array of keys:** Array used as keys for the output map.
*Expression\>* * **Array of values:** Array used as values for the output map.
*Expression\>* **Type variable bounds:** *K accepts AnyType\*\*V accepts AnyType* **Output type:** *Map\* ## Examples ### Example 1: Base case **Argument values:** * **Array of keys:** \[ 1, 2, 3 ] * **Array of values:** \[ 4, 5, 6 ] **Output:** {
 1 -> 4,
 2 -> 5,
 3 -> 6,
} *** ### Example 2: Base case **Description:** Duplicates in the left array will be removed, keeping the last seen key-value pair. **Argument values:** * **Array of keys:** \[ 1, 1, 2, 3 ] * **Array of values:** \[ 4, 5, 6, 7 ] **Output:** {
 1 -> 5,
 2 -> 6,
 3 -> 7,
} *** ### Example 3: Null case **Description:** If there are more values than keys, the output is null **Argument values:** * **Array of keys:** \[ 1, 2 ] * **Array of values:** \[ 5, 6, 7, 9 ] **Output:** *null* *** ### Example 4: Null case **Description:** If there are more keys than values, the output is null **Argument values:** * **Array of keys:** \[ 1, 2, 3, 4 ] * **Array of values:** \[ 5, 6, 7 ] **Output:** *null* *** ### Example 5: Null case **Argument values:** * **Array of keys:** `first_array` * **Array of values:** `second_array` | first\_array | second\_array | **Output** | | ----- | ----- | ----- | | \[ 1, 2, 3 ] | *null* | *null* | | *null* | \[ 1, 2, 3 ] | *null* | | *null* | *null* | *null* | *** ### Example 6: Null case **Description:** Should return null when any key is null **Argument values:** * **Array of keys:** \[ *null*, 2, 3 ] * **Array of values:** \[ 4, 5, 6 ] **Output:** *null* *** ### Example 7: Null case **Description:** Should allow null as a value **Argument values:** * **Array of keys:** \[ 1, 2, 3 ] * **Array of values:** \[ 4, *null*, 6 ] **Output:** {
 1 -> 4,
 2 -> *null*,
 3 -> 6,
} *** ### Example 8: Edge case **Description:** Allows arrays as keys **Argument values:** * **Array of keys:** \[ \[ 1, 2 ], \[ 3, 4 ] ] * **Array of values:** \[ 5, 6 ] **Output:** {
 \[ 1, 2 ] -> 5,
 \[ 3, 4 ] -> 6,
} *** ### Example 9: Edge case **Description:** Allows arrays as values **Argument values:** * **Array of keys:** \[ 1, 2 ] * **Array of values:** \[ \[ 3, 4 ], \[ 5, 6 ] ] **Output:** {
 1 -> \[ 3, 4 ],
 2 -> \[ 5, 6 ],
} ***