网站首页 > 基础教程 正文
Array与ArrayList的区别
1.Array需指定长度的数组;ArrayList则非固定可以动态扩容。
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));
}
}
}
猜你喜欢
- 2024-10-12 Java中Array,List,Set,ArrayList,Linkedlist集合的区别
- 2024-10-12 面试官和我聊一聊 ArrayList 面试redis
- 2024-10-12 ArrayList 和 LinkedList 源码分析
- 2024-10-12 Java集合框架,我花60分钟总结,你花20分钟记忆
- 2024-10-12 ArrayList 源码浅析 arraylist源码分析
- 2024-10-12 学点算法(一)——ArrayList内部数组实现元素去重
- 2024-10-12 面试官让我聊聊 ArrayList 解决了数组的哪些问题
- 2024-10-12 秋招啦!朋友,你不会现在连泛型都不清楚吧!不会吧不会吧
- 2024-10-12 每天一道面试题之Arraylist 与 LinkedList 区别
- 2024-10-12 并发容器-CopyOnWriteArrayList juc并发容器
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)