容器是现代程序设计非常基础而重要的手段。
所谓容器,就是“放东西的东西”。数组可以看作是一种容器,但是数组的元素个数一旦确定就无法改变,这在实际使用中是很大的不足。一般意义上的容器,是指具有自动增长容量能力的存放数据的一种数据结构。在面向对象语言中,这种数据结构本身表达为一个对象。所以才有“放东西的东西”的说法。
Java具有丰富的容器,Java的容器具有丰富的功能和良好的性能。熟悉并能充分有效地利用好容器,是现代程序设计的基本能力。
我们首先学习的是顺序容器,即放进容器中的对象是按照指定的顺序(放的顺序)排列起来的,而且允许具有相同值的多个对象存在。
在一些书中,将容器(英文为collection或container)翻译为“集合”,由于数学中的集合(Set)也是一种特定的容器类型,我们认为将collection翻译为集合是不恰当的。所以我们只会使用容器一词。
顺序容器相关:
需求分析:如果我们想要创建一个记事本,那么我们对这个记事本会有什么样的要求呢?
1:能存储记录
2:不限制能存储记录的数量
3:能知道已经存储的记录的数量
4:能查看存进去的每一条记录
5:能删除一条记录
6:能列出所有的记录
假设创建类NoteBook,对其进行接口设计。
接口设计:将人机交互与(输入输出)业务逻辑(对数据的处理)分离
1:add(String note);
2:getSize();
3:getNote(int index);
4:removeNote(int index);
5:list();
代码实现:
importjava.util.ArrayList;public classNoteBook {//容器类
private ArrayList notes=new ArrayList();//容器类中自带add()方法
public voidadd(String note) {
notes.add(note);
}//容器类中自带方法,查看记录数量
public intgetSize() {returnnotes.size();
}//容器类中自带方法,得到记录内容
public String getNote(intindex) {returnnotes.get(index);
}//容器类中自带方法,移除第index位记录
public void removeNote(intindex) {
notes.remove(index);
}//容器类