Here you can find the source of reverse(List
Parameter | Description |
---|---|
list | The list to be reversed. |
E | The component type of the list. |
public static <E> List<E> reverse(List<E> list)
//package com.java2s; /*/*from w w w . ja v a2 s . com*/ * The MIT License (MIT) * * Copyright (c) 2016 Lachlan Dowding * * 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.ArrayList; import java.util.List; public class Main { /** * Returns a new list with the items in the given list in reverse order. * * @param list The list to be reversed. * @param <E> The component type of the list. * @return The reverse of the given list. */ public static <E> List<E> reverse(List<E> list) { if (list == null) return null; List<E> reverseList = create(); for (int i = list.size() - 1; i >= 0; i--) { reverseList.add(list.get(i)); } return reverseList; } /** * Creates a new list. * * @param <E> The component type of the list. * @return A new list. */ public static <E> List<E> create() { return new ArrayList<E>(); } /** * Creates a new list with the given initial capacity. * * @param initialCapacity The initial capacity of the new list. * @param <E> The component type of the list. * @return A new list. */ public static <E> List<E> create(int initialCapacity) { return new ArrayList<E>(initialCapacity); } /** * Returns the item at the given index from the given list. * * @param list The list to get the item from. * @param index The index of the item to return. * @param <E> The component type of the list. * @return The item at the given index in the given list, or null if the list is null or the item does not * exist. */ public static <E> E get(List<E> list, int index) { if (list == null) throw new NullPointerException("list must not be null"); // support negative/reverse indexing if (index < 0) index += list.size(); return list.get(index); } }