Array 和 ArrayList 的区别

首先Array是数组,而ArrayList是集合

一:数组的空间大小不同
Array的长度在定义后是不可改变的,如果这时候我们需要在数组中添加其他的元素的时候,就必须要新建一个数组且数组长度比原数组长度多一,然后再把数组中的内容复制到新数组中,最后再根据下标添加需要的内容。

package Snow;

import java.util.Arrays;

public class Demo2 {
	public static void main(String[] args) {
		/**
		 * Array 添加元素方法
		 * 
		 * */
//		数组添加元素的第一种方法
//		添加一个整数88
		int n = 88;
//		定义一个数组
		int[] num = {12,22,14,11,67,97};
//		添加元素,首先拷贝原数组,并且,数组长度为原数组加一
		int[] newNum = new int[num.length+1];
//		查看数组长		
//		循环拷贝
		for (int i = 0; i < num.length; i++) {
			newNum[i] = num[i];
		}
		newNum[newNum.length-1] = n;			
		System.out.println(Arrays.toString(newNum));
		
//		数组添加元素的第二种方法
//		可以直接通过系统提供的数组工具类来添加;
		int[] newNums = Arrays.copyOf(num, num.length+1);
//		直接拷贝复制省去循环添加的代码
		newNums[newNums.length -1] = n;//赋值
		System.out.println(Arrays.toString(newNums));
	}
}

ArrayList的长度是可变的,java程序中子带了添加方法,可以自动新增一个数组并且添加完后会自动抛弃旧数组。并且,每次添加新数组的时候都会自动检查数组中的空间是否足够

二:储存内容不同

Array可以包含基本类型和对象类型

ArrayList只能包含对象类型

需要注意的一点是,Array在储存时,只能储存同一种数据类型,如果定义的是整数类数组,那么这个数组中就只能存储整数。而ArrayListZ在存储整数数据类型的时候,会吧整数变成Object

    原文作者:Snowclear_
    原文地址: https://blog.csdn.net/Snowclear_/article/details/124376215
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞