集册 Java实例教程 返回给定迭代器的单个元素;如果未找到任何元素,则返回null。

返回给定迭代器的单个元素;如果未找到任何元素,则返回null。

欢马劈雪     最近更新时间:2020-01-02 10:19:05

607
返回给定迭代器的单个元素,如果找不到元素,则返回null。

/**

 * Copyright (c) 2002-2013 "Neo Technology,"

 * Network Engine for Objects in Lund AB [http://neotechnology.com]

 *

 * This file is part of Neo4j.

 *

 * Neo4j 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.

 *

 * This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.

 */

//package com.nowjava;


import java.util.Iterator;
/**
来 自 n o w j a v a . c o m - 时  代  Java
**/


import java.util.NoSuchElementException;


public class Main {

    /**

     * Returns the given iterator's single element or {@code null} if no

     * element found. If there is more than one element in the iterator a

     * {@link NoSuchElementException} will be thrown.

     * 

     * @param <T> the type of elements in {@code iterator}.

     * @param iterator the {@link Iterator} to get elements from.

     * @return the single element in {@code iterator}, or {@code null} if no

     * element found.

     * @throws {@link NoSuchElementException} if more than one element was

     * found.

     */

    public static <T> T singleOrNull(Iterator<T> iterator) {

        T result = iterator.hasNext() ? iterator.next() : null;

        if (iterator.hasNext()) {

            throw new NoSuchElementException("More than one element in "

                    + iterator + ". First element is '" + result

                    + "' and the second element is '" + iterator.next()

                    + "'");

        }
        /*
        N o w  J a v a  . c o m 提供
        */

        return result;

    }


    
展开阅读全文