Android examples for java.lang:array convert
Converts the given array into a Map .
/*//www . jav a 2s. co 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. */ //package com.java2s; import java.util.HashMap; import java.util.Map; public class Main { /** * <p>Converts the given array into a {@link Map}. Each element of the array * must be either a {@link 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} for a {@code null} input array.</p> * * @param array an array whose elements are either a {@link Map.Entry} or * an Array containing at least two elements, may be {@code null} * @return a {@code Map} 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 Map.Entry} and an Array */ public static Map<Object, Object> toMap(final 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++) { final Object object = array[i]; if (object instanceof Map.Entry<?, ?>) { final Map.Entry<?, ?> entry = (Map.Entry<?, ?>) object; map.put(entry.getKey(), entry.getValue()); } else if (object instanceof Object[]) { final 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; } }