Java tutorial
//package com.java2s; /* * File: CollectionUtil.java * Authors: Justin Basilico * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright March 25, 2008, Sandia Corporation. * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive * license for use of this work by or on behalf of the U.S. Government. Export * of this program may require a license from the United States Government. * See CopyrightHistory.txt for complete details. * */ import java.util.Collection; import java.util.Iterator; public class Main { /** * Determines the size of the given collection, checking for null. * * @param collection * The collection to get the size of. * @return * The size of the collection. If it is null, zero is returned. */ public static int size(final Collection<?> collection) { if (collection == null) { return 0; } else { return collection.size(); } } /** * Determines the size of the given iterable. If it is null, zero is * returned. If it is a {@code Collection}, then the size method is used. * Otherwise, the iterable is iterated over to get the size. * * @param iterable * The iterable to determine the size of. * @return * The size of the given iterable. */ public static int size(final Iterable<?> iterable) { if (iterable == null) { // The size is zero. return 0; } else if (iterable instanceof Collection) { // Get the size from the collection. This cast is justified by // not having to loop over all the elements. return ((Collection<?>) iterable).size(); } else { // Cound up the elements in the iterable. int counter = 0; final Iterator<?> iterator = iterable.iterator(); while (iterator.hasNext()) { iterator.next(); counter++; } return counter; } } }