Java Iterable First first(Iterable iterable)

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

Description

Returns the first element of the collection.

License

Open Source License

Parameter

Parameter Description
T the element type
iterable the collection

Return

the first element or null if the list is empty

Declaration

public static <T> T first(Iterable<T> iterable) 

Method Source Code

//package com.java2s;
/*//w w  w.  j  a v  a  2  s. com
 * DuDe - The Duplicate Detection Toolkit
 * 
 * Copyright (C) 2010  Hasso-Plattner-Institut f?r Softwaresystemtechnik GmbH,
 *                     Potsdam, Germany 
 *
 * This file is part of DuDe.
 * 
 * DuDe is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * DuDe is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with DuDe.  If not, see <http://www.gnu.org/licenses/>.
 * 
 */

import java.util.Deque;
import java.util.Iterator;
import java.util.List;

public class Main {
    /**
     * Returns the first element of the collection.
     * 
     * @param <T>
     *            the element type
     * @param list
     *            the collection
     * @return the first element or null if the list is empty
     */
    @SuppressWarnings("unchecked")
    public static <T> T first(List<T> list) {
        if (list instanceof Deque<?>)
            return ((Deque<T>) list).getFirst();
        return list.isEmpty() ? null : list.get(0);
    }

    /**
     * Returns the first element of the collection.
     * 
     * @param <T>
     *            the element type
     * @param iterable
     *            the collection
     * @return the first element or null if the list is empty
     */
    public static <T> T first(Iterable<T> iterable) {
        if (iterable instanceof Deque<?>)
            return ((Deque<T>) iterable).getFirst();
        if (iterable instanceof List<?>) {
            List<T> list = (List<T>) iterable;
            return list.isEmpty() ? null : list.get(0);
        }
        Iterator<T> iterator = iterable.iterator();
        return iterator.hasNext() ? iterator.next() : null;
    }
}

Related

  1. first(final Iterable iterable)
  2. first(final Iterable iter)
  3. first(Iterable iterable)
  4. first(Iterable i)
  5. first(Iterable iterable)
  6. firstElement(Iterable iterable)
  7. firstElementOrNull(Iterable iterable)
  8. firstOf(final Iterable iterable)
  9. firstOrNull(Iterable iterable)