Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/* *********************************************************************** *
 * project: org.matsim.*
 * CollectionUtils.java
 *                                                                         *
 * *********************************************************************** *
 *                                                                         *
 * copyright       : (C) 2013 by the members listed in the COPYING,        *
 *                   LICENSE and WARRANTY file.                            *
 * email           : info at matsim dot org                                *
 *                                                                         *
 * *********************************************************************** *
 *                                                                         *
 *   This program 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 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *   See also COPYING, LICENSE and WARRANTY file                           *
 *                                                                         *
 * *********************************************************************** */

import java.util.Collection;

import java.util.Iterator;

public class Main {
    /**
     * makes sense only if iteration order deterministic!
     */
    public static <T> T getElement(final int index, final Collection<T> coll) {
        return getElement(false, index, coll);
    }

    /**
     * makes sense only if iteration order deterministic!
     */
    private static <T> T getElement(final boolean remove, final int index, final Collection<T> coll) {
        if (index >= coll.size())
            throw new IndexOutOfBoundsException(index + " >= " + coll.size());

        final Iterator<T> it = coll.iterator();
        int i = 0;

        while (i++ < index)
            it.next();

        final T elem = it.next();
        if (remove)
            it.remove();
        return elem;
    }
}