java容器(一)
2015-04-13 15:18
134 查看
最近再重新学习容器的一些细节,比第一次接触有了更深的了解。
1、从宏观看容器的概念:
首先是两个大的接口,Collection 和Map。
分别说明:
Collection 下面有两个子接口,分别是Set、List
Set有一个具体的实现类--HashSet;
List 有两个实现类,分别是LinkedList和ArrayList;
Map有一个具体的实现类--HashMap;
这些实现类都有自己的特点和优劣势,视具体情况选择使用。
每一层接口都有自己的方法。使用的时候不必关心实现类如何实现的,只要调用接口的方法就行了。
------------------------------
2、关于创建容器的小问题;
第一种方式:
Java代码
Collection c = new ArrayList();
相当于父类的引用指向子类的对象。这样可以使用Collection接口的所有方法,不能使用List接口的方法。这就使得如果因为后期需要将其改为
Java代码
Collection c = new LinkedList();
不会产生任何问题,因为关于对象c的代码不会有任何涉及具体实现类的方法。强烈建议不使用下面的代码
Java代码
LinkedList c = new LinkedList();
可能有更深层的原因,还没有接触到(待补充)。
3、
Java代码
Collection c = new LinkedList();
c.add(new Integer(100));
不能添加int值,也就是只能添加Object对象。
4、
Java代码
System.out.println(c);
其实调用的是toString()方法,结果是
Java代码
[100]
先打印[,然后调用每个对象的toString()方法,用“ ,“ 分割,最后以] 结尾。
1、从宏观看容器的概念:
首先是两个大的接口,Collection 和Map。
分别说明:
Collection 下面有两个子接口,分别是Set、List
Set有一个具体的实现类--HashSet;
List 有两个实现类,分别是LinkedList和ArrayList;
Map有一个具体的实现类--HashMap;
这些实现类都有自己的特点和优劣势,视具体情况选择使用。
每一层接口都有自己的方法。使用的时候不必关心实现类如何实现的,只要调用接口的方法就行了。
------------------------------
2、关于创建容器的小问题;
第一种方式:
Java代码
Collection c = new ArrayList();
相当于父类的引用指向子类的对象。这样可以使用Collection接口的所有方法,不能使用List接口的方法。这就使得如果因为后期需要将其改为
Java代码
Collection c = new LinkedList();
不会产生任何问题,因为关于对象c的代码不会有任何涉及具体实现类的方法。强烈建议不使用下面的代码
Java代码
LinkedList c = new LinkedList();
可能有更深层的原因,还没有接触到(待补充)。
3、
Java代码
Collection c = new LinkedList();
c.add(new Integer(100));
不能添加int值,也就是只能添加Object对象。
4、
Java代码
System.out.println(c);
其实调用的是toString()方法,结果是
Java代码
[100]
先打印[,然后调用每个对象的toString()方法,用“ ,“ 分割,最后以] 结尾。
相关文章推荐
- Java容器
- Java容器(一):容器总结
- Java容器实现对图片的显示
- Java容器(三):LinkedList源码分析
- J2ee开发中的“java容器”和“web容器”有什么区别?
- Java容器(四):HashMap(Java 7)的实现原理
- Java容器学习之List接口
- Java容器HashMap与HashTable详解
- java容器
- java容器(二) Iterator接口
- 使用Java容器的Map接口统计单词个数
- Java容器Queue(初级)
- Java容器
- JAVA容器,什么叫JAVA容器?
- Java容器
- Java容器(Map)
- j2ee开发中的“java容器”和“web容器”有什么区别?
- Java容器总结
- Java面试题-Java容器
- java容器