package com.zhangry.interview.java.circulate;import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;public class Circulate { public static void main(String[] args) {
String[] array = {"1","2","3","4"};
listAll(Arrays.asList(array),"");
}
private static void listAll(List candidate,String prefix){
System.out.println(prefix);
for(int i=0;i<candidate.size();i++){
List temp = new LinkedList(candidate);
listAll(temp,prefix+temp.remove(i));
}
}}
remove
public E remove(int index)移除此列表中指定位置处的元素。将任何后续元素向左移(从索引中减 1)。返回从列表中删除的元素。 指定者:
接口 List<E> 中的 remove
覆盖:
类 AbstractSequentialList<E> 中的 remove
参数:
index - 要移除的元素的索引
返回:
以前在指定位置的元素
抛出:
IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index >= size())