数组与其他种类的容器之间的区别主要有三方面:效率、类型和保存基本数据的能力。现在Java中的容器具有自动包装的功能,使得容器与数组看起来二者之间的区别更小了。在java中数组就是一个简单的线性序列,所以在访问数组的元素师非常的快速,然而这些所必须付出的代价就是数组对象的大小是固定的,而且在其生命周期内是不可以被改变的。
我们在前面提到了泛型,由于擦除会擦除掉运行时泛型的参数信息,然而数组必须要知道保存在其中的类型信息,所以数组与泛型并不能很好的结合,例如我们不能实例化具有参数化类型的数组:
public class Test<T> { public static void main(String[] args) { // Cannot create a generic array of Test<String> Test<String>[] tests = new Test<String>[10]; } }
当我我们可以Object类型的数组然后进行转型。
数组有一个重要的用途,就是我们可以创建测试数据用的数组,这里我们会使用到策略设计模式:
例如:
public class RandomGenerator<T> { private static Random r = new Random(47); public static class Boolean implements Generator<java.lang.Boolean>{ public java.lang.Boolean next(){ return r.nextBoolean(); } } public static class Integer implements Generator<java.lang.Integer>{ public java.lang.Integer next(){ return r.nextInt(); } } }
在java.util类库中存在一个Arrays类,具有一些用于数组的static方法,如:
equasl(),deepEquals();fill();sort();binarySearch();toString();hashcode()以及Arrays.asLis()。
其中binarySearch(),必须在排序后的数组中才可以使用。
数组比较的简单,我们在以后的编程中,尽量选择容器而不是数组,只是在非常注重性能是在考虑使用数组。
相关推荐
02-Java基础(数组-常见操作-遍历
07-Java基础(数组-常见问题)
Educoder题目:Java入门 - 数组基础答案解析
java语言中数组的基础教程学习资料适用新手java语言中数组的基础教程学习资料适用新手java语言中数组的基础教程学习资料适用新手java语言中数组的基础教程学习资料适用新手java语言中数组的基础教程学习资料适用新手...
06-Java基础(数组-内存图解)
03-Java基础(数组-内存空间的划分
Java基础之数组练习2
06-Java基础(数组-常见操作-排序位置置换代码提取
培训-Java基础-数组&集合.ppt 培训用的ppt 主要讲了java数组和集合 供需要的朋友使用
下面小编就为大家带来一篇java基础之数组常用操作总结(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在java中,我们可以将一个数组变量直接拷贝给另一个数组变量。但拷贝后,两个数组变量引用的是同一个数组。若改变其中一个数组中的内容,另一个数组也会同时改变。 (注:如果想打印数组内的所有值,可以使用Arrays....
java基础之一维数组元素的插入,java基础之一维数组元素的插入
04-Java基础(数组-常见操作-选择排序
Java基础之数组和变量的使用,对新学员来说,必定要学习数组和变量的使用,喜欢学习Java的朋友可以看此文章来学习数组和变量的使用
java基础——数组及其应用(csdn)————程序
对于新接触Java的学员来说,Java基础中必学数组和循环结构,这里有分享,想学的朋友可以看看此文章,学习更多Java知识。
.java文件,对java基础的数组部分的进制类型转换部分的说明。
用数组写的学生管理系统 支持添加,查询,修改。删除部分有点小问题请注意
问题2:在上例的基础上,如果要求统计出有多少人达到了平均分,并输出达到平均分的学生成绩呢? 采用另一种变量结构,能存放批量数据——数组。 数组的基本概念 数组是一种数据结构,在内存中连续存放。 用来存放...