Java EE基础班课程(第九天)
1.ArrayList
包结构:
java.util.ArrayList
类结构:
public class ArrayList<E>
extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable
描述:
可调整大小的数组。
1.1构造方法
public class _01ArrayList入门 {
public static void main(String[] args) {
ArrayList list = new ArrayList();
System.out.println(list);
ArrayList list1 = new ArrayList(16);
}
}
1.2常用方法
1.2.1 Add和泛型
import java.util.ArrayList;
public class Demo01Add {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("周海");
list.add("周豪杰");
list.add("谭璐");
list.add("张彪");
list.add("鑫鑫");
list.add("嘉伟");
System.out.println(list);
}
}
1.2.2Add
public class Demo02Add {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("周海");
list.add("周豪杰");
list.add("谭璐");
list.add("张彪");
list.add("鑫鑫");
list.add("嘉伟");
System.out.println(list);
list.add(2, "周俊池");
System.out.println(list);
}
}
1.2.3获取方法get
import java.util.ArrayList;
public class Demo03Get {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("周海");
list.add("周豪杰");
list.add("周俊池");
list.add("谭璐");
list.add("张彪");
list.add("鑫鑫");
list.add("嘉伟");
for (int i = 0; i < 7; i++) {
String s1 = list.get(i);
System.out.println(s1);
}
int size = list.size();
System.out.println(size);
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
System.out.println(s);
}
}
}
1.2.4修改 set
import java.util.ArrayList;
public class Demo04Set {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("周海");
list.add("周豪杰");
list.add("周俊池");
list.add("谭璐");
list.add("张彪");
list.add("鑫鑫");
list.add("嘉伟");
for (int i = 0; i < list.size(); i++) {
String s1 = list.get(i);
if (s1.equals("鑫鑫")){
list.set(i,"国鑫");
}
}
System.out.println(list);
}
}
1.2.5删除remove
public class Demo05Remove {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("周海");
list.add("周豪杰");
list.add("周俊池");
list.add("张三");
list.add("张三");
list.add("谭璐");
list.add("张彪");
list.add("张三");
list.add("张三");
list.add("鑫鑫");
list.add("嘉伟");
System.out.println(list);
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
if (s.equals("张三")){
list.remove(i);
i--;
}
}
System.out.println(list);
}
}
1.2.6删除remove
public class Demo06Remove {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("周海");
list.add("周豪杰");
list.add("周俊池");
list.add("张三");
list.add("谭璐");
list.add("张彪");
list.add("张三");
list.add("张三");
list.add("鑫鑫");
list.add("嘉伟");
System.out.println(list);
for (int i = list.size() - 1; i >= 0; i--) {
String s = list.get(i);
if (s.equals("张三")){
list.remove("张三");
break;
}
}
System.out.println(list);
}
}
1.3存储字符串并遍历
import java.util.ArrayList;
public class Demo01存储字符串并遍历 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("周海");
list.add("周豪杰");
list.add("周俊池");
list.add("谭璐");
list.add("张彪");
list.add("鑫鑫");
list.add("嘉伟");
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
System.out.println(s);
}
}
}
1.4存储学生对象并遍历
import java.util.ArrayList;
import java.util.Collections;
public class Demo02存储学生对象并遍历 {
public static void main(String[] args) {
Student student = new Student();
student.setName("唐文俊");
student.setAge(6);
Student student1 = new Student("周立林", 18);
Student student2 = new Student("江秋霖", 18);
ArrayList<Student> list = new ArrayList<>();
Collections.addAll(list,student,
student1,
student2);
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
System.out.println(stu.getName()+"......"+stu.getAge());
}
}
}
1.5集合元素筛选
import java.util.ArrayList;
import java.util.Collections;
public class Demo03集合元素筛选 {
public static void main(String[] args) {
Student student = new Student();
student.setName("唐文俊");
student.setAge(6);
Student student1 = new Student("周立林", 18);
Student student2 = new Student("江秋霖", 18);
Student student3 = new Student("陈勇", 7);
Student student4 = new Student("川川", 8);
ArrayList<Student> list = new ArrayList<>();
Collections.addAll(list,student,student1,student2,student3,student4);
ArrayList<Student> newList = getStudent(list);
for (int i = 0; i < newList.size(); i++) {
Student stu = newList.get(i);
System.out.println(stu.getName()+"......"+stu.getAge());
}
}
public static ArrayList<Student> getStudent(ArrayList<Student> list){
ArrayList<Student> newList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
Student student = list.get(i);
if (student.getAge()<18){
newList.add(student);
}
}
return newList;
}
}
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
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;
}
}
2.学生管理系统
public class Student {
private String sid;
private String name;
private String age;
private String birthday;
public Student() {
}
public Student(String sid, String name, String age, String birthday) {
this.sid = sid;
this.name = name;
this.age = age;
this.birthday = birthday;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
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 getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
}
import com.itheima.domain.Student;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManage {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<Student> list = new ArrayList<>();
wc:
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 num = scanner.nextInt();
switch (num) {
case 1:
addStudent(list);
break;
case 2:
removeStudent(list);
break;
case 3:
updateStudent(list);
break;
case 4:
findStudent(list);
break;
case 5:
System.err.println("5 退出");
System.exit(0);
default:
System.err.println("您的输入有误!!!");
}
}
}
public static void updateStudent(ArrayList<Student> list) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要修改的学生学号:");
String sid = scanner.nextLine();
int index = findStudentBySid(list, sid);
if (index==-1){
System.out.println("您要修改学生不存在,请重新选择");
}else {
System.out.println("请输入新的学生姓名:");
String newName = scanner.nextLine();
System.out.println("请输入新的学生年龄");
String newAge = scanner.nextLine();
System.out.println("请输入新的学生生日:");
String newBirthday = scanner.nextLine();
Student newStu = new Student(sid, newName, newAge, newBirthday);
list.set(index,newStu);
System.out.println("修改成功!!!");
}
}
public static void removeStudent(ArrayList<Student> list) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要删除的学生学号:");
String sid = scanner.nextLine();
int index = findStudentBySid(list, sid);
if (index==-1){
System.out.println("学号不存在,请重新选择!");
}else {
list.remove(index);
System.out.println("删除成功");
}
}
public static void findStudent(ArrayList<Student> list) {
if(list.size()==0 || !list.isEmpty()){
System.out.println("学生信息为空,请添加后查询!!!");
return;
}
System.out.println("学号\t\t姓名\t年龄\t生日");
for (int i = 0; i < list.size(); i++) {
Student student = list.get(i);
System.out.println(student.getSid()+"\t\t"+student.getName()+"\t"+student.getAge()+"\t"+student.getBirthday());
}
}
public static void addStudent(ArrayList<Student> list) {
Scanner sc = new Scanner(System.in);
String sid;
while (true){
System.out.println("请输入学生的学号:");
sid = sc.nextLine();
int index = findStudentBySid(list,sid);
if (index != -1){
System.out.println("学号已存在,请重新输入学号!");
}else {
break;
}
}
System.out.println("请输入学生的姓名:");
String name = sc.nextLine();
System.out.println("请输入学生的年龄:");
String age = sc.nextLine();
System.out.println("请输入学生的生日:");
String birthday = sc.nextLine();
Student student = new Student(sid,name,age,birthday);
list.add(student);
System.out.println("添加成功");
}
private static int findStudentBySid(ArrayList<Student> list, String sid) {
for (int i = 0; i < list.size(); i++) {
Student student = list.get(i);
if (student.getSid().equals(sid)){
return i;
}
}
return -1;
}
}