Java List Slice sliceListByIndices(final List indices, final List list)

Here you can find the source of sliceListByIndices(final List indices, final List list)

Description

Given a list of indices into a list, return those elements of the list with the possibility of drawing list elements multiple times

License

Open Source License

Parameter

Parameter Description
indices the list of indices for elements to extract
list the list from which the elements should be extracted
T the template type of the ArrayList

Return

a new ArrayList consisting of the elements at the specified indices

Declaration

static public <T> ArrayList<T> sliceListByIndices(final List<Integer> indices, final List<T> list) 

Method Source Code

//package com.java2s;
/*/*  www  . j av a 2 s .  c om*/
* Copyright 2012-2016 Broad Institute, Inc.
* 
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
* 
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
* 
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

import java.util.*;

public class Main {
    /**
     * Given a list of indices into a list, return those elements of the list with the possibility of drawing list elements multiple times
     *
     * @param indices the list of indices for elements to extract
     * @param list    the list from which the elements should be extracted
     * @param <T>     the template type of the ArrayList
     * @return a new ArrayList consisting of the elements at the specified indices
     */
    static public <T> ArrayList<T> sliceListByIndices(final List<Integer> indices, final List<T> list) {
        ArrayList<T> subset = new ArrayList<T>();

        for (int i : indices) {
            subset.add(list.get(i));
        }

        return subset;
    }
}

Related

  1. slice(List c, int fromIndex, int toIndex)
  2. slice(List list, int index, int count)
  3. slice(List list, int start, int end)
  4. slice(List list, Integer start, Integer stop)
  5. sliceList(final List list, final long offset, final int limit)
  6. slices(List list, int step)