数组与集合的区别
ArrayList
概述
是java编写好的一个类,用于表示一个容器,使用的时候,需要注意指定容器中元素的数据类型;(如果不指定,语法不报错,但是取值的时候不方便)
注意事项
- 使用的时候,写ArrayList<元素的数据类型>的数据类型的时候,带着泛型;
- 使用ArrayList集合的时候需要导包;(java.util包下)
- ArrayList集合的泛型中不能直接写基本数据类型,只能写引用数据类型;
构造方法
空参数构造方法;
常用方法(重要)
添加数据
add(元素); 排队进入容器;
add(索引,元素);插队进入容器;
删改查获取长度
对集合容器进行增删改的操作,实际上是对容器本身进行了操作,操作后容器的内容立刻发生了变化;
遍历(重点)
正向遍历通用格式
for (int i = 0; i < list.size(); i++) {
......
}
正向遍历快捷键
集合名.fori
逆向遍历的快捷键
集合名.forr
删除集合中重复的元素
有两种方式:
正向遍历配合i–可以删除成功;
逆向遍历直接删除也可以实现;
集合存自定义数据类型
内存示意图
集合类型作为方法的参数和返回值
结论
设计方法的时候,方法的形参是集合类型,那么将来调用方法的时候只需要传递一个提前创建好的集合容器对象的名字(因为集合对象的名字记录的就是集合容器的地址值)即可;
设计方法的返回值的时候,如果方法的返回值是集合类型,那么在方法体中只需要提前创建好一个集合容器对象,将来返回这个集合容器对象即可(因为集合对象的名字记录的就是集合容器的地址值);
学生管理系统综合案例
环境搭建
主菜单实现
public static void main(String[] args) {
//1: 写死循环,让用户一直选择要执行的菜单功能
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("-------欢迎使用学生管理系统----------");
System.out.println("1 添加学生");
System.out.println("2 删除学生");
System.out.println("3 修改学生");
System.out.println("4 查看学生");
System.out.println("5 退出");
System.out.println("请输入您的选择:");
int i = sc.nextInt();
// 根据用户的选择,执行不同的功能
switch (i){
case 1:
System.out.println("add...");
break;
case 2: