数组、arraylist和list的区别和泛型的解释

数组、arraylist和list的区别和泛型的解释(转) 

数组:固定长度的一段内存。
ArrayList:可以理解为可以动态增加内存的数组,是一种链表。
list是一种范型链表,解决了ArrayList对于值类型需要装箱拆箱的缺点。
================

数组就是值对象,它存储数据元素类型的值的一系列位置.
Arraylist和list可以提供添加,删除,等操作的数据.
泛形中的元素类型是固定的.
比如:
arraylist a = new arraylist();
a.add(1);
a.add("aaaa");
a.add(new class());
Arraylist中可以添加任何类型的元素.

如果定义的是泛形的话
List <MyClass > myclasslist = new List <MyClass >
MyClassList.add(new MyClass());
泛形中就不能再添加别的类型的.它只能添加MyClass类型的实例.

据说这样做的好处是:当读取和存储操作时,可以减少因为折箱和装箱带的类型转换的性能损失.

========================

泛型的好处:
通过允许指定泛型类或方法操作的特定类型,泛型功能将类型安全的任务从您转移给了编译器。不需要编写代码来检测数据类型是否正确,因为会在编译时强制使用正确的数据类型。减少了类型强制转换的需要和运行时错误的可能性。泛型提供了类型安全但没有增加多个实现的开销。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值