Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 * Copyright (c) 2005-2011 KOM - Multimedia Communications Lab
 *
 * This file is part of PeerfactSim.KOM.
 * 
 * PeerfactSim.KOM 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
 * any later version.
 * 
 * PeerfactSim.KOM 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 PeerfactSim.KOM.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

import java.util.Map;

public class Main {
    /**
     * Copies the entries from <code>source</code> to <code>dest1</code> until
     * <code>dest1</code> has reached size <code>dest1Capacity</code>. The
     * remaining entries are saved in <code>overflow</code>. The order of
     * insertion depends on the iterator of the underlying map. Note that as
     * <code>dest1</code> is a map, inserting an entry with a key that already
     * exists in the map does not increase its size (if the insertion is
     * permitted).
     * 
     * @param <T>
     *            the key type.
     * @param <U>
     *            the entry/value type.
     * @param source
     *            the mappings to be copied.
     * @param dest1
     *            the first destination for the entries, to be filled until its
     *            size reaches dest1Capacity.
     * @param overflow
     *            destination for the remaining entries.
     * @param dest1Capacity
     *            maximum allowed size for dest1.
     */
    public static <T, U> void copyUntilFull(final Map<? extends T, ? extends U> source,
            final Map<? super T, ? super U> dest1, Map<T, U> overflow, final int dest1Capacity) {
        for (final Map.Entry<? extends T, ? extends U> srcEntry : source.entrySet()) {
            if (dest1.size() < dest1Capacity) {
                dest1.put(srcEntry.getKey(), srcEntry.getValue());
            } else {
                overflow.put(srcEntry.getKey(), srcEntry.getValue());
            }
        }
    }
}