专业编程基础技术教程

网站首页 > 基础教程 正文

Array与ArrayList的区别 arraylist和arrays

ccvgpt 2024-10-12 14:05:47 基础教程 15 ℃

Array与ArrayList的区别

1.Array需指定长度的数组;ArrayList则非固定可以动态扩容。

Array与ArrayList的区别 arraylist和arrays

2.在声明变量时Array必须同时实例化,至少得初始化数组的大小,而ArrayList可以只声明

例如:

//Array
int[] array = new array[3];
//或者
int[] array = {1,2,3};
//ArrayList
ArrayList myList = new ArrayList();

3.Array只能存储同种类型的对象,若初始化为int型,那存储的数据必须得是int型;ArrayList则可以存储不同类型的对象(前提没使用泛型,默认object[])

4.Array不能随意增删其中项,ArrayList则可以任意位置增删数据

相似点:

都具有下标索引index,可以通过下标直接获取和修改数据

创建的对象都放在托管堆中

建议:

基于效率和类型检验,应尽可能使用Array无法确定数组大小时才使用ArrayList

附Array和ArrayList的相互转换

public class Demo {  
    public static void main(String[] args) {  
        List<String> list=new ArrayList<String>();  
        list.add("老杨");  
        list.add("张三");  
        list.add("李四");  
        int size=list.size();  
        String[] array = (String[])list.toArray(new String[size]);  
        for(int i=0;i<array.length;i++){  
            System.out.println(array[i]);  
        }  
    }  
}  
public class Test {  
    public static void main(String[] args) {  
        String[] array=new String[3];  
        array[0]="老杨";  
        array[1]="张三";  
        array[2]="李四";  
        List<String> list=Arrays.asList(array);  
        for(int i=0;i<list.size();i++){  
            System.out.println(list.get(i));  
        }            
    }  
}  

Tags:

最近发表
标签列表