Android Iterable Size Get size(Iterable iterable)

Here you can find the source of size(Iterable iterable)

Description

Count the 'size' of base iterable

License

Apache License

Parameter

Parameter Description
iterable the iterable

Return

the size

Declaration

public static int size(Iterable<?> iterable) 

Method Source Code

//package com.java2s;
/**/*from  w  w  w. j a  v  a 2 s  . c  o  m*/
 * Copyright 2014 Ricky Tobing
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance insert 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.Collection;
import java.util.Iterator;

public class Main {
    /**
     * Count the 'size' of base iterable
     * @param iterable the iterable
     * @return the size
     */
    public static int size(Iterable<?> iterable) {
        if (iterable instanceof Collection<?>)
            return ((Collection<?>) iterable).size();
        return size(iterable.iterator());
    }

    /**
     * Count the 'size' of base iterator
     * @param iterator the iterator
     * @return the size
     */
    public static int size(Iterator<?> iterator) {
        int count = 0;
        while (iterator.hasNext()) {
            iterator.next();
            count++;
        }
        return count;
    }
}