Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 * Copyright (C) 2013 Marcius da Silva da Fonseca.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library 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
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301 USA
 */

import java.util.Collection;

import java.util.Iterator;

import java.util.Map;

public class Main {
    public static <T extends Object> T remove(final int index, final Collection<T> collection) {
        if (!isEmptyOrNull(collection)) {
            int i = 0;
            for (Iterator<T> it = collection.iterator(); it.hasNext();) {
                final T removed = it.next();
                if (i == index) {
                    it.remove();
                    return removed;
                }
                i++;
            }
        }
        return null;
    }

    /**
     * Tells if a given collection is null or empty.
     *
     * @param collection The collection to be evaluated.
     * @return {@code true} if the given collection is null or empty.
     */
    public static boolean isEmptyOrNull(final Collection<?> collection) {
        return collection == null || collection.isEmpty();
    }

    /**
     * Tells if a given map is null or empty.
     *
     * @param map The map to be evaluated.
     * @return {@code true} if the given map is null or empty.
     */
    public static boolean isEmptyOrNull(final Map<?, ?> map) {
        return map == null || map.isEmpty();
    }

    /**
     * Asks an iterator if there is next value.
     *
     * @param it The iterator to analise.
     * @return true if the given iterator is not null and has next element. false otherwise.
     */
    public static boolean hasNext(final Iterator<?> it) {
        return it != null && it.hasNext();
    }
}