java进阶笔记Day(九)

集合
集合是一个容器,用来存储若干个数据,它的长度是可变的。集合有很多种,这里我们学的是ArrayList集合,ArrayList类中给我们提供很多方法,方便对集合中的元素进行操作。
集合的常用方法
public boolean add(E e)
添加元素到集合,如果返回true就表示添加成功;否则就添加失败
public void add(int index, E element)
添加元素到集合的指定索引位置
public E get(int index)
获取指定索引位置的元素
public E remove(int index)
根据索引移除元素,把被删除的元素返回
public E set(int index, E element)
把指定索引的元素修改为新的元素,把被修改的元素返回。
public int size()
获取集合的长度
public void clear()
清空集合中的元素
public boolean contains(Object o)
判断是否包含元素
public boolean isEmpty()
判断集合是否为空
对于集合的常用方法,下面是代码的演示
ArrayList list=new ArrayList<>();
//添加元素
list.add(“hello”);
list.add(“world”);
list.add(“java”);
list.add(“你好”);
list.add(“世界”);
list.add(“爪哇”);

///在3索引位置添加"苍蝇"
list.add(3,“苍蝇”);

System.out.println(list);
//获取3索引的元素
String s = list.get(3);
System.out.println(s);

//移除3索引的元素
String e = list.remove(3);
System.out.println(“被移除的元素:”+e);
System.out.println(list);

//把5索引的元素修改为 “JAVA”
String e2 = list.set(5, “JAVA”);
System.out.println(“被修改的元素:”+e2);
System.out.println(list);

//获取集合的长度
System.out.println(“长度:”+list.size());

//判断集合中是否包含"java"
boolean b = list.contains(“java”);
System.out.println(“是否包含java:”+b);

//清空集合中的元素
list.clear();
System.out.println(list);

//判断集合是否为空
boolean empty = list.isEmpty();
System.out.println(empty);
集合的元素遍历
集合中存储字符串并遍历

//元素类型为字符串
ArrayList list=new ArrayList<>();
list.add(“hello”);
list.add(“java”);
list.add(“world”);

//遍历集合中的元素
for (int i = 0; i < list.size(); i++) {
//获取i索引位置的元素
String s = list.get(i);
System.out.println(s);
}
集合中存储基本类型包装类并遍历

//元素类型为整数
ArrayList list=new ArrayList();
list.add(100);
list.add(200);
list.add(300);
list.add(400);

//遍历集合中的元素
for (int i = 0; i < list.size(); i++) {
Integer s = list.get(i);
System.out.println(s);
}
集合存储自定义类型并遍历
首先需要自己定义一个Student类型,才可以往集合中存储Student对象。

//集合中的元素为Student类型
ArrayList list=new ArrayList<>();

//添加元素
list.add(new Student(“张三”,18));
list.add(new Student(“李四”,20));
list.add(new Student(“王五”,19));

//遍历集合
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
System.out.println(stu.getName()+"…"+stu.getAge());
}
学生管理系统
编写学生类

public class Student {
private String id;
private String name;
private String age;
private String addree;

public Student() {
}

public Student(String id, String name, String age, String addree) {
this.id = id;
this.name = name;
this.age = age;
this.addree = addree;
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAge() {
return age;
}

public void setAge(String age) {
this.age = age;
}

public String getAddree() {
return addree;
}

public void setAddree(String addree) {
this.addree = addree;
}
}
编写主界面

public class StudentManager {
public static void main(String[] args) {
//用于存储学到对象的集合
ArrayList list = new ArrayList<>();
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.退出”);
//键盘录入你选择的操作
Scanner sc = new Scanner(System.in);
String num = sc.nextLine();
//对录入的数据进行匹配
switch (num) {
case “1”:
addStudent(list);
break;
case “2”:
deleteStudent(list);
break;
case “3”:
updateStudent(list);
break;
case “4”:
findAllStudent(list);
break;
case “5”:
System.exit(0); //退出虚拟机
System.out.println(“谢谢使用,欢迎下次再来_”);
break;
}
}
}
}
查询id是否存在

//查询集合中是否有指定的id
public static int getIndex(ArrayList list, String id) {
int index = -1; //规定-1表示没有这个学号
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
if (stu.getId().equals(id)) {
index = i;
break;
}
}
return index;
}
添加学生

//键盘录入学生信息,并且封装为学生对象,往集合中添加学生对象
public static void addStudent(ArrayList list) {
Scanner sc = new Scanner(System.in);
System.out.println(“请输入学生的学号:”);
String sid = sc.nextLine();

int index = getIndex(list, sid);
//学号如果不存在,才可以添加
if(index == -1){
System.out.println(“请输入学生的姓名:”);
String sname = sc.nextLine();
System.out.println(“请输入学生的年龄:”);
String sage = sc.nextLine();
System.out.println(“请输入学生的地址:”);
String saddress = sc.nextLine();

//把录入的学生信息封装为Student对象
Student stu = new Student(sid, sname, sage, saddress);
//把Student对象添加到集合
list.add(stu);
System.out.println(“添加学生成功”);
}else {
System.out.println(“你录入的学号已经存在,请重新录入”);
}
}
查询所有学生

//查询所有学生信息
public static void findAllStudent(ArrayList list){
//判断集合中是否有元素,如果没有元素直接结束
if(list.isEmpty()){ //list.size()==0
System.out.println(“还没有添加学生,请添加学生后再查询!!”);
return; //结束方法
}

System.out.println(“学号\t\t\t姓名\t\t年龄\t\t地址”);
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t\t"+stu.getAddree());
}
}
修改学生

//删除学生
public static void deleteStudent(ArrayList list) {
//键盘录入要删除的学生学号
Scanner sc=new Scanner(System.in);
System.out.println(“请输入要删除的学生学号:”);
String delId = sc.nextLine();

//在list集合中查找delId是否存在,如果存在才能删除
int index = getIndex(list, delId);

//根据索引删除元素
if(index!=-1){
list.remove(index);
System.out.println(“删除学生成功”);
}else {
System.out.println(“您录入的学号不存在!!”);
}
}
删除学生

//修改学生
public static void updateStudent(ArrayList list) {
//键盘录入要删除的学生学号
Scanner sc=new Scanner(System.in);
System.out.println(“请输入要修改的学生学号:”);
String updateId = sc.nextLine();

//在list集合中查找updateId是否存在,如果存在才能删除
int index = getIndex(list, updateId);

//根据索引修改元素
if(index!=-1){
System.out.println(“请输入学生的学号:”);
String sid = sc.nextLine();
System.out.println(“请输入学生的姓名:”);
String sname = sc.nextLine();
System.out.println(“请输入学生的年龄:”);
String sage = sc.nextLine();
System.out.println(“请输入学生的地址:”);
String saddress = sc.nextLine();
//把录入的学生信息封装为Student对象
Student stu = new Student(sid, sname, sage, saddress);
//把index索引位置的学生,替换为新的学生
list.set(index,stu);
System.out.println(“修改学生成功”);
}else {
System.out.println(“您录入的学号不存在!!”);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值