Array和ArrayList不同
Employee[] array = new Employee[10];
ArrayList<Employee> staff = new ArrayList<>();
| 不同 | Array | ArrayList | 利弊 |
| 长度是否可变 | 长度不可变array的长度一直为10 | 长度可变,通过add、remove添加或删除元素。但是在操作过程中是通过自动创建一个更大的数组,复制小的数组中的值到打的数组中,实现数组长度可变. | |
|
new ArrayList<>(100)和 new Employee[100] |
new Employee[100]数组长度一直为100 | new ArrayList<>(100)代表创建一个长度为100的数组,但是仍然可以在他的基础上进行添加或者删除。之所以添加这个即wnsureCapacity(100)方法,是为了在100个之内是,不再需要重复的复制原来的对象到一个更大的数组中去,节省了内存的使用,加快了速度。当你不需要这么多空闲的内存时,可以调用trimToSize()方法将长度改变为当前实际存在的对象的长度,垃圾回收系统会恢复额外的内存。 | < |
|
staff.size和array.length() |
两者一样,都是代表实际存在的对象的长度。 |
||
|
值得存取方法 |
通过索引array[i]可以进行很方便的存取 |
需要通过set和get方法,即staff.set(i,harry),staff.get(i)来存取。因为ArrayList类并不是java语言的一部分,它只是一个标准库中工具类(被某人所写) | > |
Array和ArrayList不同的更多相关文章
- C#中数组Array、ArrayList、泛型List<T>的比较
在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析. 一.数组Array 数组是一个存储相同类型元素的固定大小的顺序 ...
- Array和ArrayList互相转换
class Order{ public string orderId; public string orderName; public decimal orderPrice; } public cla ...
- Array和ArrayList的异同点【转】
相信数组是大家在编程最常使用的,不论任何语言都存在数组这样的数据结构,由于C#语言是完全面向对象的,所以在C#中的数组也是对象,实际上就是Array类的实例,Array类的使用可以说是使用最频繁的,只 ...
- Array和ArrayList的区别与联系
博主今天去了一个java的实习面试,发现有好多java最基础的数据结构对于博主来说反而感到陌生,在面试官问一些常见的例如HashMap这样的数据结构,博主能回答的头头是道,但是在问到Array和Arr ...
- Array和ArrayList的异同点
Array和ArrayList的异同点 1.不同点: (1)Array只能存储同构的对象, ArrayList可以存储异构的对象 (2)在CLR托管对中的存放方式中,Array是始终是连续存放的, A ...
- C# array与arraylist区别及获取sql字段名
array与arraylist的区别: 1. Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的.如果更改了 ArrayList.Capacity 属性的值,则自动进行内 ...
- Array和ArrayList有什么区别?
Array和ArrayList的区别: 1.Array可以包含基本数据类型和对象类型,而ArrayList只能包含对象类型 2.Array有固定的大小,而ArrayList是动态变化的. 3.Arra ...
- C#数组之 []、List、Array、ArrayList应用
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- C#中[] 、List、Array、ArrayList等数据结构的差异简述
[] 是针对特定类型.固定长度的. List 是针对特定类型.任意长度的. Array 是针对任意类型.固定长度的. ArrayList 是针对任意类型.任意长度的. Array 和 ArrayLis ...
- Java面试题之Array和ArrayList的区别
Array和ArrayList的区别: 1.Array类型的变量在声明的同时必须进行实例化(至少得初花数组的大小),而ArrayList可以只是先声明: 2.Array始终是连续存放的:而ArrayL ...
随机推荐
- C++ 常用算法
http://blog.csdn.net/jgzquanquan/article/details/77185711
- javascript封装animate动画
面向对象式: Element.prototype.animate=animate; Element.prototype.getStyle=getStyle; function animate(json ...
- Spark partitionBy
partitionBy 重新分区, repartition默认采用HashPartitioner分区,自己设计合理的分区方法(比如数量比较大的key 加个随机数 随机分到更多的分区, 这样处理数据倾斜 ...
- HBase学习总结(1)
HBase是一种数据库:HadoopDatabase顾名思义就是Hadoop数据库,它是一种基于hadoop文件系统HDFS的一种分布式数据库,专门设计用来快速随机读写大规模数据.本文介绍HBase的 ...
- Python Socket通信黏包问题分析及解决方法
参考:http://www.cnblogs.com/Eva-J/articles/8244551.html#_label5 1.黏包的表现(以客户端远程操作服务端命令为例) 注:只有在TCP协议通信的 ...
- GENIA语料库学习【转载】
来自论文:GENIA corpus—a semantically annotated corpus for bio-textmining 2003 1.介绍 GENIA corpus, a sema ...
- SQL 的约束
说明:文章所有内容均截选自用户"实验楼包工头"发布在实验楼上的教程[MySQL 基础课程],想要详细的学习SQL,点击教程即可免费学习了:未经允许,禁止转载: 约束是一种限制,它通 ...
- CentOS6.5 安装Kafka集群
1.安装zookeeper 参考文档:http://www.cnblogs.com/hunttown/p/5452138.html 2.下载:https://www.apache.org/dyn/cl ...
- MVC爬取网页指定内容到数据库
控制器 //获取并插入 //XPath获取 public JsonResult Add(string url) { HtmlWeb web = new HtmlWeb(); HtmlDocument ...
- centos7.x docker安装及配置,持续更新
1. 安装docker-ce [root],ce为docker社区版,免费,ee版为企业版,收费 列出所有已安装docker # rpm -qa | grep docker 删除已安装docker # ...