通过数组的形式来操作对象
实体类:Student
public class Student {
private int id;
private String name;
private int age;
public Student() {
}
public Student(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
测试类:StudentTest
public class StudentTest {
public static void main(String[] args) {
//创建长度为3的数组
Student[] stuArr = new Student[3]
//创建学生对象
Student stu1 = new Student(1, "小李", 20)
Student stu2 = new Student(2, "小许", 20)
Student stu3 = new Student(3, "小陆", 20)
//把学生对象添加到集合当中去
stuArr[0] = stu1
stuArr[1] = stu2
stuArr[2] = stu3
//再次添加一个新的学生对象
Student stu4 = new Student(4, "小闫", 20)
boolean falg = idWhetherExist(stuArr, stu4.getId())
if (falg) {
//id存在
System.out.println("id已存在请重新赋值!")
} else {
//id不存在
int count = arrayWhetherFull(stuArr)
if (count == stuArr.length) {
//如果存储满需要创建一个新的数组
Student[] newStuArr = copyArr(stuArr)
newStuArr[count] = stu4
printArray(newStuArr)
} else {
//没存储满是直接添加
stuArr[count] = stu4
printArray(stuArr)
}
}
//根据id进行删除
int index1 = getId(stuArr, 4)
if (index1 > 0) {
stuArr[index1] = null
printArray(stuArr)
} else {
System.out.println("id不存在!")
}
//对id为1同学的年龄更新进行加一
int index2 = getId(stuArr, 1)
if (index2 > 0) {
Student stu = stuArr[index2]
int age = stu.getAge() + 1
stu.setAge(age)
printArray(stuArr)
} else {
System.out.println("该id不存在无法修改!")
}
}
//判断id是否存在
public static boolean idWhetherExist(Student[] stuArr, int id) {
for (int i = 0
Student stu = stuArr[i]
if (stu != null) {
int sid = stu.getId()
if (sid == id) {
return true
}
}
}
return false
}
//判断数组是否已经存储满了,数组到底存储了几个数据
public static int arrayWhetherFull(Student[] stuArr) {
//定义一个统计有几个数据
int count = 0
for (int i = 0
if (stuArr[i] != null) {
count++
}
}
return count
}
//存储满之后创建一个新的数组并把老数组里的内容复制到新的数组中
public static Student[] copyArr(Student[] Arr) {
Student[] newStuArr = new Student[Arr.length + 1]
for (int i = 0
newStuArr[i] = Arr[i]
}
return newStuArr
}
//查找在数组中查找id看看是否存在
public static int getId(Student[] stuArr, int id) {
for (int i = 0
Student stu = stuArr[i]
if (stu != null) {
if (stu.getId() == id) {
return id
}
}
}
return -1
}
//打印数组
public static void printArray(Student[] stuArr) {
for (int i = 0
Student stu = stuArr[i]
if (stu != null) {
System.out.println("id:" + stu.getId() + ",姓名:" + stu.getName() + ",年龄:" + stu.getAge())
}
}
}
}