Java List Reverse reverse(List as)

Here you can find the source of reverse(List as)

  1. HOME
  2. Java
  3. L
  4. List Reverse
  5. reverse(List as)

Description

reverse

License

Open Source License

Declaration

public static <A> List<A> reverse(List<A> as) 

Method Source Code


//package com.java2s;
//License from project: Open Source License 

import java.util.ArrayList;

import java.util.Collections;
import java.util.List;

public class Main {
    public static <A> List<A> reverse(List<A> as) {
        return reverse(as, Collections.EMPTY_LIST);
    }//from ww  w. jav  a 2s. c o  m

    private static <A> List<A> reverse(List<A> as, List<A> acc) {
        return as.isEmpty() ? acc : reverse(tail(as), cons(head(as), acc));
    }

    public static <A> List<A> tail(List list) {
        List result = new ArrayList<>(list);
        result.remove(0);
        return Collections.unmodifiableList(result);
    }

    public static <A> List<A> cons(A a, List<A> as) {
        List result = new ArrayList<>(as);
        result.add(0, a);
        return Collections.unmodifiableList(result);
    }

    public static <A> A head(List<A> list) {
        return list.get(0);
    }
}

Related

  1. reverse(final List list)
  2. reverse(final List strings)
  3. reverse(List aList)
  4. reverse(List list)
  5. reverse(List list)
  6. reverse(List list)
  7. reverse(List source)
  8. reverse(List list)
  9. reverse(List list)

  10. HOME | Copyright © www.java2s.com 2016