Java examples for java.util:Collection Creation
Create a properly sized ConcurrentHashMap based on the given expected number of elements.
/*//from w w w . j av a2s. c o m * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ //package com.java2s; import java.util.concurrent.ConcurrentHashMap; public class Main { public static void main(String[] argv) { int expectedNumberOfElements = 42; System.out.println(concurrentMap(expectedNumberOfElements)); } public static final float LOAD_FACTOR = 0.75f; /** * Create a properly sized {@link ConcurrentHashMap} based on the given expected number of elements. * * @param expectedNumberOfElements The expected number of elements for the created map * @param <K> The map key type * @param <V> The map value type * * @return The created map. */ public static <K, V> ConcurrentHashMap<K, V> concurrentMap( int expectedNumberOfElements) { return concurrentMap(expectedNumberOfElements, LOAD_FACTOR); } /** * Create a properly sized {@link ConcurrentHashMap} based on the given expected number of elements and an * explicit load factor * * @param expectedNumberOfElements The expected number of elements for the created map * @param loadFactor The collection load factor * @param <K> The map key type * @param <V> The map value type * * @return The created map. */ public static <K, V> ConcurrentHashMap<K, V> concurrentMap( int expectedNumberOfElements, float loadFactor) { final int size = expectedNumberOfElements + 1 + (int) (expectedNumberOfElements * loadFactor); return new ConcurrentHashMap<K, V>(size, loadFactor); } }