- List和Map是接口,ArrayList和HashMap是接口的实现类。
- 不能单独使用接口来保存数据,但是可以创建其实现类的对象,然后使用接口引用来保存对象。如:
Map<String, Integer> map = new HashMap<>();
和List list = new ArrayList();
。 - 接口引用拥有接口的所有属性和方法,不会拥有其实现类的独有的属性和方法。如果两者有相同的属性或方法,调用的是接口的属性和实现类的方法。
- 用
List list = new ArrayList();
不用ArrayList alist = new ArrayList();
的原因:List接口有多个实现类,如果想要改成别的实现类,只需要改变一行(接口引用保存新的实现类的对象);但是如果用后者,当用了其特有的属性和方法,需要改为新的类的属性和方法,很麻烦。(用List的话,只用了接口有的属性和方法,所以改变为别的实现类也不影响。) - 详细见Java中List和ArrayList的区别
List与ArrayList、Map与HashMap的区别
最新推荐文章于 2022-09-23 23:25:43 发布