java容器(一)

本文详细解析容器与集合接口的使用,包括Collection、Map、Set、List等具体实现类的特点与优劣,以及如何避免在创建容器时的常见问题。

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

 

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()方法,用“ ,“ 分割,最后以] 结尾。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值