Java tutorial
//package com.java2s; /* * Copyright (c) 2013 Game Salutes. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v3 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/lgpl.html * * Contributors: * Game Salutes - Repackaging and modifications of original work under University of Chicago and Apache License 2.0 shown below * * Repackaging from edu.uchicago.nsit.iteco.utils to com.gamesalutes.utils * * Copyright 2008 - 2011 University of Chicago * * Licensed 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.*; public class Main { /** * Creates a <code>LinkedHashSet</code> of the optimal hash capacity for given * maximum size and the load factor. * * @param <E> the element type * * @param size maximum size of the collection * @param loadFactor usage percentage before a rehash occurs. Default value for * Collections framework is 0.75. Lower values result in less * chance of collisions at the expense of larger memory footprint * @return the created <code>LinkedHashSet</code> */ public static <E> LinkedHashSet<E> createLinkedHashSet(int size, float loadFactor) { return new LinkedHashSet<E>(calcHashCapacity(size, loadFactor), loadFactor); } /** * Calculates the optimal hash capacity for given maximum size and the * load factor. * * @param size maximum size of the collection * @param loadFactor usage percentage before a rehash occurs. Default value for * Collections framework is 0.75. Lower values result in less * chance of collisions at the expense of larger memory footprint * @return the optimal hash capacity */ public static int calcHashCapacity(int size, float loadFactor) { return (int) Math.ceil(size / loadFactor); } }