Here you can find the source of toMap(Object[] array)
Converts the given array into a java.util.Map .
Parameter | Description |
---|---|
array | an array whose elements are either a java.util.Map.Entry or an Array containing at least two elements, may be <code>null</code> |
Parameter | Description |
---|---|
IllegalArgumentException | if the array contains elements otherthan java.util.Map.Entry and an Array |
Map
that was created from the array
public static Map<Object, Object> toMap(Object[] array)
//package com.java2s; /*/*from ww w .j a va 2s . c o m*/ * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.util.HashMap; import java.util.Map; public class Main { /** * <p>Converts the given array into a {@link java.util.Map}. Each element of the array * must be either a {@link java.util.Map.Entry} or an Array, containing at least two * elements, where the first element is used as key and the second as * value.</p> * * <p>This method can be used to initialize:</p> * <pre> * // Create a Map mapping colors. * Map colorMap = MapUtils.toMap(new String[][] {{ * {"RED", "#FF0000"}, * {"GREEN", "#00FF00"}, * {"BLUE", "#0000FF"}}); * </pre> * * <p>This method returns <code>null</code> for a <code>null</code> input array.</p> * * @param array an array whose elements are either a {@link java.util.Map.Entry} or * an Array containing at least two elements, may be <code>null</code> * @return a <code>Map</code> that was created from the array * @throws IllegalArgumentException if one element of this Array is * itself an Array containing less then two elements * @throws IllegalArgumentException if the array contains elements other * than {@link java.util.Map.Entry} and an Array */ public static Map<Object, Object> toMap(Object[] array) { if (array == null) { return null; } final Map<Object, Object> map = new HashMap<Object, Object>( (int) (array.length * 1.5)); for (int i = 0; i < array.length; i++) { Object object = array[i]; if (object instanceof Map.Entry<?, ?>) { Map.Entry<?, ?> entry = (Map.Entry<?, ?>) object; map.put(entry.getKey(), entry.getValue()); } else if (object instanceof Object[]) { Object[] entry = (Object[]) object; if (entry.length < 2) { throw new IllegalArgumentException("Array element " + i + ", '" + object + "', has a length less than 2"); } map.put(entry[0], entry[1]); } else { throw new IllegalArgumentException("Array element " + i + ", '" + object + "', is neither of type Map.Entry nor an Array"); } } return map; } }