Java tutorial
//package com.java2s; /* * Copyright (c) 2013 Game Salutes. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v3 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/lgpl.html * * Contributors: * Game Salutes - Repackaging and modifications of original work under University of Chicago and Apache License 2.0 shown below * * Repackaging from edu.uchicago.nsit.iteco.utils to com.gamesalutes.utils * * Copyright 2008 - 2011 University of Chicago * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ import java.util.*; public class Main { /** * Returns a new <code>ArrayList</code> containing only those elements * in <code>origList</code> that are also present in <code>universe</code>. * This method is meant to be a faster alternative to <code>Collection.retainAll</code> * for <code>ArrayList</code> since removal operations take O(n) in <code>ArrayList</code>. * * @param <E> type of element * @param origList original element <code>ArrayList</code> * @param universe <code>Set</code> of all valid elements * @return new <code>ArrayList</code> containing only those elements * in <code>origList</code> that are also present in <code>universe</code> */ public static <E> ArrayList<E> retainAll(ArrayList<E> origList, Set<E> universe) { ArrayList<E> newElms = new ArrayList<E>(origList.size()); for (E elm : origList) { if (universe.contains(elm)) newElms.add(elm); } return newElms; } }