据我了解开发中是很少用到递归的,如下代码同样是给int[]数组赋值,用递归是很容易超出桟内存空间的:
- public class Test2 {
- public static void main(String[] args) {
-
- int[] arr = new int[1024*3];
- //forF(arr);
- Long start = System.currentTimeMillis();
- recursion(arr,0);
- Long end = System.currentTimeMillis();
- System.out.println(end-start);
- for(int i=0; i<arr.length; i++) {
- System.out.println(arr[i]);
- }
- }
- public static void forF(int[] arr) {
- Long start = System.currentTimeMillis();
- for(int i=0; i<arr.length; i++) {
- arr[i] = i;
- }
- Long end = System.currentTimeMillis();
- System.out.println(end-start);
- }
- public static void recursion(int[] arr, int index) {
-
- if(index == arr.length-1) {
- arr[index] = index;
- return ;
- } else {
- arr[index] = index;
- index ++;
- recursion(arr, index);
- }
- }
- }
复制代码 |