今天闫老师带大家学习了java的集合 ArrayList 长度是动态的,不像数组要指定长度,jvm自带自动释放存储功能,高端==
之后把之前用对象数组写的电话本管理系统改造成了用ArrayList写的,不需要设定长度和最大下标~
ArrayList可以装各种类型的元素,声明如下
ArrayList al=new ArrayList();
也可以指定能装入的数据类型,比如
// public static TelephoneBook tb=new TelephoneBook[100];
public static ArrayList<TelephoneBook> tb = new ArrayList<TelephoneBook>();
原先对数组做的增删查改操作也由ArrayList的函数替代
增加
//[i] = alterPeople;
//调用ArrayList的add方法
//移除指定位置元素
tb.remove(i);
//在移除位置插入新数据
tb.add(i,alterPeople);
System.out.println(alterPeople);
删除
for (int i = 0; i < tb.size(); i++) {
if (tb.get(i).getName().equals(name)) {
bl = true;
// for (; i <= maxIndex; i++) {
// tb[i] = tb[i + 1];
// }
// maxIndex--;
//用remove方法删除元素
tb.remove(i);
System.out.println("删除成功");
}
}
修改
TelephoneBook alterPeople = new TelephoneBook(sex, newName,
age, phone, qq, adress);
// tb[i] = alterPeople;
//调用ArrayList的add方法
//移除指定位置元素
tb.remove(i);
//在移除位置插入新数据
tb.add(i,alterPeople);
System.out.println(alterPeople);
查询
// for(int i=0;i<tb.size();i++){
// System.out.println(tb.get(i));
// }
//增强for循环,从tb逐个取出对象给tpb,方便快捷
for(TelephoneBook tpb:tb){
System.out.println(tpb);
}
for (int i = 0; i < tb.size(); i++) {
if (tb.get(i).getName().equals(name)) {
bl = true;
System.out.println("查找成功");
System.out.println(tb.get(i));
}
}
大致这样,比较简单,晚上写sql查询相关