Java tutorial
//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(); } }