再谈JAVA

泛型数组列表
在JAVA中允许存在在运行时改变数组的大小。但是一旦确定数组大小很难改变。使用ArrayList的类,具有删除和添加的功能,不需要为此编写任何代码。
ArrayList是一个采用类型参数的泛型类。为了指定数组列表保存的元素类型,需要用一对尖括号将类名括起来,加在后面如ArrayList<Employee> 如果在菱形中赋值变量、方法或者某个方法的返回。编译器都会将这个变量、参数或泛型类型检测出来,并且赋值给菱形中,给出的例子泛型类型为Employee。可以不加“<>”使用老版本的ArrayList,这是一个自适应大小的集合,类型为Object。也可以使用vector。但是最好使用ArrayList,利用add将元素添加到集合中,数组列表在资源耗尽的情况下使用add就可以创建一个更大的数组,将元素从较小的数组中拷贝出来。也可以知道空间有多大的时候定义指定的储存空间,可以调用ensureCapactity方法,也可以在构造器构造的时候直接定义大小。数组列表与数组大小有一个非常重要的区别,数组如果分配大小就是分配了储存空间且无法改变。数组列表是保存元素的潜力,可以重新分配空间。size方法返回的是数组列表的实际元素数量。一旦确定数组列表的长度就调用trimToSize方法,这个方法将储存区域的大小改为当前元素所需要的储存空间的数目。
访问数组列表的元素
对于数组列表不能使用" [] "访问数组元素的内容,只能使用get访问元素,使用set更改元素。在使用原始泛型时还要将类型转换为实际类型。原始的add和get存在危险性,因为元素指向Object。可以使用toArray方法将元素拷贝到另外一个数组里。方便访问数组。可以使用add插入到列表任意位置。也可以使用remove删除任意位置的元素。
类型化与原始数组列表的兼容性
将一个有类型参数列表传递给一个没有类型的列表不会报错,但是一个没有类型参数的列表赋值给有的会得到一个警告。使用类型转换并不能避免出现警告,但是会显示另外一个警告。指出类型转换有误。这就是Java参数化类型的限制所带来的结果。编译器在对类型转化数组进行检查后没有发现违反规则的现象,就将所有类型化数组列表转化为原始的ArrayList,在运行程序时没有像在虚拟机中那种类型参数,因此,有参数没有参数的将执行相同的运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值