Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 * $Id$
 *
 * This is a program for Language Grid Core Node. This combines multiple language resources and provides composite language services.
 * Copyright (C) 2005-2008 NICT Language Grid Project.
 *
 * This program 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 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 Lesser 
 * General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License 
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */

import java.lang.reflect.Array;

import java.util.Collection;

import java.util.Iterator;

public class Main {
    /**
     * 
     * 
     */
    public static <T> T[] toArray(Collection<T> collection, Class<T> elementClass) {
        return toArray(collection, elementClass, 0, collection.size());
    }

    /**
     * 
     * 
     */
    @SuppressWarnings("unchecked")
    public static <T> T[] toArray(Collection<T> collection, Class<T> elementClass, int index, int count) {
        int n = collection.size();
        int end = Math.min(index + count, n);
        Object result = Array.newInstance(elementClass, end - index);
        Iterator<T> it = collection.iterator();
        int resultIndex = 0;
        for (int i = 0; i < end; i++) {
            if (!it.hasNext())
                break;
            Object value = it.next();
            if (i < index)
                continue;
            Array.set(result, resultIndex, value);
            resultIndex++;
        }
        return (T[]) result;
    }
}