java容器(一)

最近再重新学习容器的一些细节,比第一次接触有了更深的了解。

 

1、从宏观看容器的概念: 

首先是两个大的接口,Collection 和Map。

分别说明:

Collection 下面有两个子接口,分别是Set、List

         Set有一个具体的实现类--HashSet;

         List 有两个实现类,分别是LinkedList和ArrayList;

Map有一个具体的实现类--HashMap;

 

 

 

这些实现类都有自己的特点和优劣势,视具体情况选择使用。

每一层接口都有自己的方法。使用的时候不必关心实现类如何实现的,只要调用接口的方法就行了。

 

------------------------------

2、关于创建容器的小问题;

第一种方式:

Collection c = new ArrayList();

 相当于父类的引用指向子类的对象。这样可以使用Collection接口的所有方法,不能使用List接口的方法。这就使得如果因为后期需要将其改为

Collection c = new LinkedList();

 不会产生任何问题,因为关于对象c的代码不会有任何涉及具体实现类的方法。强烈建议不使用下面的代码

LinkedList c = new LinkedList();

 可能有更深层的原因,还没有接触到(待补充)。

3、

Collection c = new LinkedList();
c.add(new Integer(100));

 不能添加int值,也就是只能添加Object对象。

4、

 

System.out.println(c);

 其实调用的是toString()方法,结果是

[100]

 先打印[,然后调用每个对象的toString()方法,用“ ,“ 分割,最后以] 结尾。

 

 

 

你可能感兴趣的:(java)