Array,Arrays和ArrayList比较
来源:互联网 发布:过滤广告的软件 编辑:程序博客网 时间:2024/05/18 00:47
Arrays
Array
ArrayList
基本概念
(1)是java.util.Arrays类,是一个继承Object类。
(2) 是工具类,能方便地操作数组,它提供的所有方法都是静态的;
(3)Arrays是操作数据对象的,即对整个数组的操作
(1)Array类是Java.lang.reflect包中的一个类,该类提供了动态创建和访问java数组的方法。
(2) Array经常表示数组,Array是用来装对象的;
容量固定,无法动态改变
(3) 允许在执行 get 或 set 操作期间进行扩展转换.
(4)侧重对基本类型数组单个元素操作
(1) ArrayList:容量可动态增长;但牺牲效率,称作动态数组。
(2) ArrayList是Array的复杂版本,ArrayList内部封装了一个Object类型的数组,从一般的意义来说,它和数组没有本质的差别,甚至于ArrayList的许多方法,如Index、IndexOf、Contains、Sort等都是在内部数组的基础上直接调用Array的对应方法。
(3)实现了Collection和List接口。
常用方法
常用方法:
boolean equals(array1,array2)-比较两个数组是否相等
void sort(array):对数组array的元素进行升序排列
String toString(array):数组array转换成字符串
void fill(array,val):把数组array所有元素都赋值为val
copyOf(array,length):数组array复制成一个长度为length的新数组
int binarySearch(array,val):查询元素值val在数组array中的下标(采用的二分查找法)。
没有提供删除方法
Array.getInt(int arrayname, index)-在int类型数组中获取数组下标为index的数据;
Array.getDouble(double arrayname, index)
等等
——
一系列静态set和get方法
public intsize();返回此列表中的元素数。
public boolean isEmpty();如果此列表中没有元素,则返回 true
public boolean contains(Object o);如果此列表中包含指定的元素,则返回 true
public int indexOf(Object o)
返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
public int lastIndexOf(Object o)
返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。
public Object[] toArray();
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;
public void add(int index, E element)将指定的元素插入此列表中的指定位置。
public boolean remove(Object o)
移除此列表中首次出现的指定元素(如果存在)。
等等
效率
Array(数组)通常意义上讲只是一个单纯的线性序列,又基于Native,凭此它的效率历来便号称Java中最高。所以通常我们也都承认Java中效率最高的存储方式就是使用数组。
效率最高
数组扩容时:
这是对ArrayList效率影响比较大的一个因素。
每当执行Add、AddRange、Insert、InsertRange等添加元素的方法,都会检查内部数组的容量是否不够了,如果是,它就会以当前容量的两倍来重新构建一个数组,将旧元素Copy到新数组中,然后丢弃旧数组,在这个临界点的扩容操作,应该来说是比较影响效率的。
- Array,Arrays和ArrayList比较
- ArrayList和Array比较
- Java中Array Arrays ArrayList的区别
- Java Array和Arrays
- Array和Arrays
- Array和Arrays
- ArrayList Array List性能比较
- Array 和ArrayList区别
- Array和ArrayList
- Array和ArrayList区别
- Array和ArrayList区别
- Array和Arrays类应用
- Array和Arrays的区别
- 比较Collection 和Collections的区别,Array与Arrays的区别
- 比较Collection 和Collections的区别,Array与Arrays的区别
- ArrayList和LinkedList比较
- ArrayList和LinkedList比较
- ArrayList 和 Vector 比较
- Activity的onNewIntent
- java保留两位小数4种方法
- 如何使用SQL语句交换男女性别
- 用户行为分析数据库设计
- 广播监听USB和外设插拔状态
- Array,Arrays和ArrayList比较
- linux命令less查看大日志文件
- ubuntu修改时区和时间的方法
- 支持GoLang,类似 Source Insight的vim编辑器搭建
- 关于二维数组a[i][j]
- WebStorm和PhpStorm编译器的注册码
- 指向vector的指针
- Eclipse下多个Python项目关联开发
- ubuntu 配置 samba 服务