1、数组为什么特殊
- 数组是一种效率最高的存储和随机访问对象引用序列的方式。数组就是一个简单的线性序列,这使得元素访问非常快速。
- 数组可以持有基本类型,而泛型会签的容器则不能。但是有了泛型,容器就可以制定并检查它们所持有对象的类型。
2、数组是第一级对象
- 无论使用哪种类型数组,数组标识符其实只是一个引用,指向在堆中创建的一个真实对象,这个数组对象用以保存指向其他对象的引用。就是说Person a[],是一个引用,指向一个对象,这个对象持有了Person的引用。
- 新生成一个数组对象时,其中所有的引用被自动初始化为null。
3、数组与泛型
- 不能实例化具有参数化类型的数组。
Peel<Banana>[] peels = new Peel<Banana>[10] // Illegal
- List<String>[] 也是一个Object[]
4、Arrays实用功能
- Arrays.fill() 填充数组
- System.arraycopy() 复制数组,比for快很多
- Arrays.equals() 数组相等的条件是元素个数必须相等,并且对应位置的元素也相等,通过对每个元素的equals来判断。
- Arrays.sort() 进行数组排序,只要对象实现了Comparable接口或具有相关联的Comparator。
- Arrays.binarySearch()进行快速的二分查找,
网友评论