为什么用Set set=new HashSet
为什么用Set set=new HashSet,而不直接HashSet set=new HashSet
21
收起
正在回答
1回答
Set 是接口
Java 提供了很多 Set的实现类 :
每个 Set的实现类内部实现原理都不一样:
HashSet : 为快速查找设计的Set。存入HashSet的对象必须定义hashCode()。
TreeSet : 保存次序的Set, 底层为树结构。使用它可以从Set中提取有序的序列。
LinkedHashSet : 具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序)。于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。
Set接口引用这些实现类的实例 , 利用多态的特性,可以容易的修改引用的实现类 ,
比如把 HashSet 改成 TreeSet , Set 的引用代码不用任何修改
如果不是使用 Set接口的引用 有一万处使用了 Hashset 的引用
HashSet set=new HashSet
你得修改一万次 改成 TreeSet
保证了程序的兼容性和扩展性
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星