package notebook;
import java.util.ArrayList;
/**
记录本
1、能存储记录
2、无限制存储的记录的数量
3、能知道已经存储的记录的数量
4、能查看存进去的每一条记录
5、能删除一条记录
6、能列出所有的记录
接口设计
add(String note);拿到了一个字符串,将字符串作为记录的东西,
至于字符串如何拿到的,我们现在不用担心,因为将来使用这个记事本的时候,
这个字符串是通过很多不同的途径获得的。比如:实现命令行的字符串,很可能是
通过scannder通过nextline获得的。如果使用图形界面程序,那有这个字符串
可能是有个对话框,对话框里面要求用户输入什么东西,然后按个ok按钮,于是
这个对话框里面的字符串就被传递进我们的表达业务逻辑的Notebook里面,或者
是网页前端的输入条里面,输入服务器的代码里,经处理后传递给我们。
getSize();
getNote(int index);
removeNote(int index);
list();
**/
public class NoteBook {
// 设计接口,拿一个string就可以add进去
private ArrayList<String>notes=new ArrayList<String>();
/**import java.util.ArrayList;是被引入的包
ArrayList是一种类的名字,成员变量叫notes。notes本身是类型管理者
定义变量时用的类型是string,这是一种范型类,用来存放string的arraylist
这种类型叫做范型类,这种范型类是一种容器
容器类:用来存放任意数量的对象
容器类里的变量在定义的时候要定义两个类型:arraylist容器的类型、string元素的类型
**/
public void add(String s){
notes.add(s);
}
//不是一下子就把这个接口所有都实现完,只是将接口先定义出来
public int getSize(){
return notes.size();
/*ArrayList这个容器里面本身自带size可以计算里面放了多少东西
*/
}
public String getNote(int index){
return notes.get(index);
}
public void add(String s,int location){
notes.add(location,s);
}
public void removeNote(int index){
//不适合用void,因为怕不成功所以用boolean
notes.remove(index) ;
}
public String[] list(){
//将所有的note全部列出来的东西,返回一个string数组,
// 别人拿了这个数组怎么用,是放在sout里面输出,还是放在网页里面输出
//我们的notebook值关注数据本身所以返回一个string数组
String[] a=new String[notes.size()];
// for(int i=0;i<notes.size();i++){
// a[i]=notes.get(i);
// }
notes.toArray(a);
return a;
}//public void list(){ sout()}
public static void main(String[] args) {
// TODO Auto-generated method stub
String[]a=new String[2];
a[0]="first";
a[1]="second";
NoteBook nb=new NoteBook();
nb.add("first");
nb.add("second");
nb.add("third",1);
System.out.println(nb.getSize());
System.out.println(nb.getNote(0));
System.out.println(nb.getNote(1));
nb.removeNote(1);
// String[] a=nb.list();
for(String s:a){
System.out.println(s);
}
}
}
对象容器
最新推荐文章于 2023-01-14 10:32:43 发布