org.pcollections.PStack Maven / Gradle / Ivy
/*
* Copyright (c) 2008 Harold Cooper. All rights reserved.
* Licensed under the MIT License.
* See LICENSE file in the project root for full license information.
*/
package org.pcollections;
import java.util.Collection;
/**
* An immutable, persistent stack.
*
* @author harold
* @param
*/
public interface PStack extends PSequence {
/** Returns a stack consisting of the elements of this with e prepended. */
// @Override
public PStack plus(E e);
/** Returns a stack consisting of the elements of this with list prepended in reverse. */
// @Override
public PStack plusAll(Collection extends E> list);
// @Override
public PStack with(int i, E e);
// @Override
public PStack plus(int i, E e);
// @Override
public PStack plusAll(int i, Collection extends E> list);
// @Override
public PStack minus(Object e);
// @Override
public PStack minusAll(Collection> list);
// @Override
public PStack minus(int i);
// @Override
public PStack subList(int start, int end);
/**
* @param start
* @return subList(start,this.size())
*/
public PStack subList(int start);
}