ArrayList<E>
ArrayList是一種可調(diào)整的數(shù)組實現(xiàn)
E是一種特殊的數(shù)據(jù)類型,泛型仅颇,e指的是數(shù)據(jù)類型
IndexOutOfBoundsException:這句話就相當于數(shù)組下標越界单默,在這里就是集合越界
size就相當于數(shù)組里面的length都是表示長度
<>里面的是java里的泛型,泛型就是基本類型(int,char,float等等)在java中的封裝的那幾個(Integer,Character等等),<>作用就是確定到底存放什么類型
我們不知道到底有多少個數(shù)據(jù)元素的時候,就可使用ArrayList忘瓦;如果知道數(shù)據(jù)集合有多少個元素搁廓,就用數(shù)組。
import java.util.ArrayList;
import java.util.Scanner;
public class Main{
public static int n, r;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
r = sc.nextInt();
dfs(1, new ArrayList());
}
private static void dfs(int begin, ArrayList list) {
// 當數(shù)組長度等于設(shè)置的長度r時, 打印數(shù)組
if (list.size() == r) {
listPrint(list);
return;
}
for (int i = begin; i <= n; i++) {
// 添加元素
list.add(i);
dfs(i+1, list);
// 回溯
list.remove(list.size()-1);
}
}
// 打印函數(shù), 每個元素占三個位置
public static void listPrint(ArrayList
list) {
for (int i: list){
if (i < 10)
System.out.print(" "+i);
else
System.out.print(" "+i);
}
System.out.println();
}
}