java 容器

来源:互联网 发布:企业网络拓扑结构图 编辑:程序博客网 时间:2024/05/22 01:52

容器两个重要的思想:
一、接口设计和实现分离的设计思想
二、容器主要作用是为了持有对象(更准确说是持有对象的引用)
三、 使用Collection接口解耦,使得集合底层具体的实现和 集合的**使用功能
**(即 接口中定义的那些功能)之间 解耦,即使底层实现变化了,我们在使用
上也没有变化。
四、使用迭代器,能够将遍历操作序列(而不是 映射表喔,因为Collection内部实现了Iterator接口)底层的结构分离,实现解耦。

五、了解迭代器设计思想。即解耦的一种方式。

集合容器分为:集合Collection、映射表Map

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
参考《java核心编程 卷一》
1 集合接口
2 具体的集合
3 集合框架
涉及到的集合接口:Collection、Map、Iterator
具体的集合:很多,见下文
集合框架:集合类的集合以及其中的一些机制。方便日后定义自己新的集合类,或者实现适用于多种数据类型的泛型算法
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
参考《java编程思想》
前言:如果一个程序只含有固定数量的,并且生命周期是已知的对象,那么这个程序非常简单。但是实际上,很多对象必须等到运行时才能确定。 在此之前,不知道对象的数量,甚至不知道对象的类型,为了处理这个问题,我们需要在任意时间,任意位置创建任意数量的对象。因此,不能用一个命名的引用去持有每一个对象。
此外,java有多种方式来保存对象(应该说是对象的引用),比如:数组、集合。
数组是固定的,不能满足所有的需求,而集合是动态的。、

1 集合中使用泛型的原因:(泛型和类型安全的容器)
容器的主要一个问题,就是编译器允许向你的容器插入不正确的类型。通过使用泛型,可以在编译期防止将错误的类型插入到你的容器中。

基本概念
1 容器类的类库的主要作用就是:保存对象(即保存对象的引用)
2 容器类类库划分为:Collection、Map
Collection是 一个独立元素的序列
Map是 一组键值对的对象
3 两种有解耦效果的渠道:使用接口,使用迭代器(针对 序列的历操作)
4 两个常见接口 ,以及与foreach的关系
interface Iterator
{ Boolean hasNext();
/*Iterator iterator();没有这个方法
*/
E next();
void remove();//删除迭代器新近返回的元素
}

interface Collection
{ Iterator iterator();
void add(E element)();
………………
}
ps: Collection**继承了**(extends)Iterator接口。
ps:要先调用next,再调用remove。
ps:Collection的具体集合类 是 Iterator的对象。
ps:foreach,默认的针对 Iterator对象服务的。
ps:向上转型,是指 对象的子类可以向上转型为本类。

5 两个很有用的工具类:Arrays类、Collections类

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
接下来的工作:
看源码,然后结合着看书。

瞬间思路:
Iterator就是个接口,其实里面就**描述了**3个函数,源代码(3kb)
Collection接口extends (继承了)Iterator接口,里面就**描述了**15个函数,源代码(14kb)
Collection接口中重要的函数:add,addAll,clear,contains,containsAll,equals,
hashcode,isEmpty, iterator,remove,removeAll,
reatinAll,size,toArray(2种toArray)

0 0
原创粉丝点击