没有合适的资源?快使用搜索试试~ 我知道了~
首页详谈Array和ArrayList的区别与联系
详谈Array和ArrayList的区别与联系
2.1k 浏览量
更新于2023-03-16
评论
收藏 69KB PDF 举报
下面小编就为大家带来一篇详谈Array和ArrayList的区别与联系。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
资源详情
资源评论
资源推荐

详谈详谈Array和和ArrayList的区别与联系的区别与联系
下面小编就为大家带来一篇详谈Array和ArrayList的区别与联系。小编觉得挺不错的,现在就分享给大家,也给
大家做个参考。一起跟随小编过来看看吧
昨天去了一个java的实习面试,发现有好多java最基础的数据结构对于博主来说反而感到陌生,在面试官问一些常见的例如
HashMap这样的数据结构,博主能回答的头头是道,但是在问到Array和ArrayList的区别和联系之后,却让博主一脸懵。好
吧,不多说,现在特此整理。
首先,首先, Array是是java中的数组,我们声明中的数组,我们声明java的数组有三种方式:的数组有三种方式:
int[] a = new int[10];
int a[] = new int[10]; //这种方式同c语言一样
int a[] = {1,2,3,4};
从上面的声明中可以看出来,我们在定义了一个数组的时候,必须指定这个数组的数据类型,也就是说,数组是相同数据类型
的集合。另外,在数组声明的时候,我们也声明了数组的大小,数组的元素个数是固定的。
下面,我们看看数组的应用:
import java.util.Arrays;
/**
* @author jy
* @time 下午7:59:26
*/
public class ArrayAndArrayList {
public static void main(String[] args) {
int a[] = new int[4];
System.out.println(a.length); //数组的长度属性
int b[] = {1,2};
int c[] = {1,2};
System.out.println(b.equals(c)); //输出为false,可见数组并没有重写hashcode()和equals()方法
System.out.println(Arrays.equals(b, c)); //利用java.util.Array的equals()来判断数组是否相等,这里输出true
System.out.println(isEquals(b,c));
}
/**
* 重写方法来手动实现数组之间的比较方法
*/
public static boolean isEquals(int[] b, int[] c) {
if(b.length != c.length){
return false;
}
if(b == null ||c == null){
return false;
}
for (int i = 0; i < c.length; i ++) {
if(b[i] != c[i]){
return false;
}
}
return true;
}
}
可见,数组的长度是固定的,不可变的。数组并未重写object的hashcCode()和equals()方法。
我们都知道,数组还可以是二维的,下面我们看看二维数组是如何声明的:下面我们看看二维数组是如何声明的:
int[][] da = new int[2][3]; //推荐用这种声明方式,更能表明数组的类型
int db[][] = new int[4][3];
但是,有一种变长的二维数组:
int[][] dc = new int[2][]; //第一维的大小不能空缺,第二维的大小可以是不一样的。
dc[0] = new int[2];
dc[1] = new int[3];
好了,数组这个基本的数据结构的应用我们就说到这里,为了突出主题,其余的一些不相干的应用我们就不扯了。
下面,我们再来看看下面,我们再来看看ArrayList这个集合:这个集合:

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0