ArrayList: 可调整大小的数组实现; :是一种特殊的数据类型,泛型。
创建ArrayList集合
方法名 | 说明 |
---|
public ArrayList() | 创建一个空的集合对象 |
public boolean add(E e) | 将指定的元素追加到此集合的末尾 |
public void add(int index,E element) | 在此集合中的指定位置插入指定的元素 |
package com.itxuexi.it09;
import com.sun.java.swing.plaf.windows.WindowsDesktopIconUI;
import java.util.ArrayList;
public class ArrayList01 {
public static void main(String[] args) {
ArrayList<String> array = new ArrayList<String>();
array.add("hello");
array.add("world");
array.add("java");
System.out.println("array:" + array);
array.add(1,"javaee");
System.out.println("array:" + array);
}
}
ArrayList常用方法
方法名 | 说明 |
---|
public boolean remove(Object o) | 删除指定的元素,返回删除是否成功 |
public E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
public E get(int index) | 返回指定索引处的元素 |
public int size() | 返回集合中的元素的个数 |
package com.itxuexi.it09;
import java.util.ArrayList;
public class ArrayList02 {
public static void main(String[] args) {
ArrayList<String> arry = new ArrayList<>();
arry.add("hello");
arry.add("word");
arry.add("java");
arry.add("ok");
System.out.println("arry:" + arry);
System.out.println(arry.remove("hello"));
System.out.println(arry.remove(2));
System.out.println(arry.set(0,"zhang"));
System.out.println(arry.get(1));
System.out.println(arry.size());
System.out.println("arry:" + arry);
}
}
package com.itxuexi.it09;
import java.util.ArrayList;
public class ArrayList03 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("zhangling");
list.add("liuhui");
list.add("fengzhang");
for(int i = 0 ; i<list.size();i++){
String s = list.get(i);
System.out.println(s);
}
}
}
package com.itxuexi.it09;
public class Student {
private String name;
private int age;
public Student(){}
public Student(String name,int age){
this.name = name;
this.age = age;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age =age;
}
public int getAge(){
return age;
}
}
package com.itxuexi.it09;
import java.util.ArrayList;
public class StudentDemo {
public static void main(String[] args) {
ArrayList<Student> arr = new ArrayList<Student>();
Student s1 = new Student("zhang",20);
Student s2 = new Student("ling",11);
Student s3 = new Student("hung",88);
arr.add(s1);
arr.add(s2);
arr.add(s3);
for(int i =0; i < arr.size();i++){
Student s = arr.get(i);
System.out.println("学生姓名:"+ s.getName() +"," + "学生年龄:" + s.getAge());
}
}
}
package com.itxuexi.it09;
public class Student1 {
private String name;
private String age;
public Student1(){}
public Student1(String name, String age){
this.name = name;
this.age = age;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setAge(String age){
this.age =age;
}
public String getAge(){
return age;
}
}
package com.itxuexi.it09;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentDemo1 {
public static void main(String[] args) {
ArrayList<Student1> arr = new ArrayList<Student1>();
sendStudent(arr);
sendStudent(arr);
sendStudent(arr);
for(int i = 0 ;i<arr.size();i++ ){
Student1 s2 = arr.get(i);
System.out.println("学生姓名:" + s2.getName() + "," + "学生年龄:"+ s2.getAge());
}
}
public static void sendStudent(ArrayList<Student1> arry){
Scanner sc = new Scanner(System.in);
System.out.println("请输入姓名:");
String name = sc.nextLine();
System.out.println("请输入年龄");
String age = sc.nextLine();
Student1 s1 = new Student1();
s1.setName(name);
s1.setAge(age);
arry.add(s1);
}
}
习题(集合增删改查)
package com.exercises;
public class ArrayListStudent {
private String id;
private String name;
private String age;
private String add;
public ArrayListStudent() {}
public ArrayListStudent(String id, String name, String age, String add) {
this.id = id;
this.name = name;
this.age = age;
this.add = add;
}
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 getAdd() {
return add;
}
public void setAdd(String add) {
this.add = add;
}
}
package com.exercises;
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayListStudentDemo {
public static void main(String[] args) {
ArrayList<ArrayListStudent> arr = new ArrayList<ArrayListStudent>();
while (true) {
home();
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的选择:");
int choice = sc.nextInt();
switch (choice) {
case 1:
addStudent(arr);
break;
case 2:
delStudent(arr);
break;
case 3:
modStudent(arr);
break;
case 4:
viewStudent(arr);
break;
case 5:
System.out.println("谢谢使用");
System.exit(0);
}
}
}
public static void home(){
System.out.println("-------欢迎来到学生管理系统-------");
System.out.println("1 添加学生");
System.out.println("2 删除学生");
System.out.println("3 修改学生");
System.out.println("4 查看所有学生");
System.out.println("5 退出");
}
public static void addStudent(ArrayList<ArrayListStudent> arr){
Scanner sc = new Scanner(System.in);
String id ;
while(true) {
System.out.println("请输入学生号:");
id = sc.nextLine();
boolean flag = isStudent(arr, id);
if (flag) {
System.out.println("你输入的学号已经被使用,请重新输入");
}else{
break;
}
}
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生年龄:");
String age = sc.nextLine();
System.out.println("请输入学生地址:");
String add = sc.nextLine();
ArrayListStudent as = new ArrayListStudent();
as.setId(id);
as.setName(name);
as.setAge(age);
as.setAdd(add);
arr.add(as);
}
public static boolean isStudent(ArrayList<ArrayListStudent> arr,String id){
boolean flag =false;
for(int i = 0; i<arr.size();i++){
ArrayListStudent is = arr.get(i);
if(is.getId().equals(id)){
flag = true;
break;
}
}
return flag;
}
public static void delStudent(ArrayList<ArrayListStudent> arr){
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要删除的学员编号:");
String id = sc.nextLine();
int index = -1;
for(int i = 0;i<arr.size();i++){
ArrayListStudent ds = arr.get(i);
if(ds.getId().equals(id)){
index = i;
break;
}
}
if(index == -1){
System.out.println("该信息不存在,请重新输入");
}else{
arr.remove(index);
System.out.println("删除学生成功");
}
}
public static void modStudent(ArrayList<ArrayListStudent> arr){
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要修改的学员编号:");
String id = sc.nextLine();
System.out.println("请输入学生新的姓名");
String name = sc.nextLine();
System.out.println("请输入学生新的年龄");
String age = sc.nextLine();
System.out.println("请输入学生新的居住地");
String add = sc.nextLine();
ArrayListStudent ns = new ArrayListStudent();
ns.setId(id);
ns.setName(name);
ns.setAge(age);
ns.setAdd(add);
for(int i = 0;i<arr.size();i++){
ArrayListStudent ds = arr.get(i);
if(ds.getId().equals(id)){
arr.set(i,ns);
break;
}
}
System.out.println("修改学生成功");
}
public static void viewStudent(ArrayList<ArrayListStudent> arr){
if(arr.size() == 0){
System.out.println("学生信息为空,请先添加学员信息!!!");
return;
}
System.out.println("学号\t\t姓名\t\t年龄\t\t居住地");
for(int i = 0 ;i<arr.size();i++){
ArrayListStudent sv = arr.get(i);
System.out.println(sv.getId() +"\t\t"+ sv.getName() +"\t\t"+ sv.getAge() +"\t"+ sv.getAdd());
}
}
}