我疑惑点有2个
1.你直接用ArrayList list=new ArrayList()不就可以了吗?
2.用List来实现接口回调的话 ,ArrayList里的一些方法你又用不了。
Map也是同样的疑惑
请问为什么我们在写java集合时总喜欢用接口回调?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- wolf犭良 2016-08-09 15:18关注
List list = new ArrayList();
这样的写法,是为了让后面的操作都是面向List接口的,而面向接口编程方便后期维护或扩展,因为List有三个子类:ArrayList、LinkedList、Vector,
若后期要考虑线程安全或提高增删元素速度等,就会考虑用其他实现类。这时只需要修改创建对象一个地方,而后面的代码基本不需要动。
如果明确用到某个现实类的特有方法就可以选择第二种写法了。解决 无用评论 打赏 举报
悬赏问题
- ¥15 无线电能传输系统MATLAB仿真问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
- ¥15 关于#hadoop#的问题