java 数组或者链表输出

1、数组输出

输出一个数组中的元素,我们通常用for循环来做,比如:

package test;

public class Test {

    public static void main(String args[]){
        int arr[]={1,2,3};
        System.out.print("[");
        for(int i=0; i<arr.length-1; i++)
            System.out.print(arr[i]+", ");
        System.out.println(arr[arr.length-1]+"]");
        

    }
}

输出的结果为:[1, 2, 3]。

 

 

但是Java提供了更为简单的方法,这就是toString方法。具体做法如下:

package test;

import java.util.Arrays;

public class Test {

    public static void main(String args[]){
        int arr[]={1,2,3};

        System.out.println(Arrays.toString(arr));
    }
}

输出的结果为:[1, 2, 3]。

 

 

但是如果数组中的元素不是同一类型怎么办呢?比如:

package test;

import java.util.Arrays;

public class Test {

    public static void main(String args[]){
        int[] arr={1,2,3};
        String[] str={"aaa","bbb"}; 
        Object[] array = {arr,str};
        System.out.println(Arrays.toString(array));
    }
}

输出的结果为:[[I@158f9d3, [Ljava.lang.String;@79a2e7]。

 

 

可以看到打印出来的不是数组元素,而是对象的内存代号。如果要打印出数组元素怎么办呢?这里我们可以用到deepToString。比如:

package test;

import java.util.Arrays;

public class Test {

    public static void main(String args[]){
        int[] arr={1,2,3};
        String[] str={"aaa","bbb"}; 
        Object[] array = {arr,str};
        System.out.println(Arrays.deepToString(array));
    }
}

输出的结果:[[1, 2, 3], [aaa, bbb]]。

 

2、链表输出

List重写了toString(),直接使用System.out.println(list),就会输出[a,b,c,d];

posted @ 2015-06-24 21:55  Maydow  阅读(1212)  评论(0编辑  收藏  举报