集合的特点:提供一种存储空间可变的存储模型,存储的1数据容量可以发生改变。
集合类有很多,目前我们先学习一个ArrayList
ArrayList
可调整大小的数组实现 如何使用? 在出现E的地方使用引用数据类型替换即可 举例:ArrayList 删除指定元素,返回删除是否成功 修改指定索引处的元素,返回被修改元素 需求:创建一个存储字符的集合,存储三个字符串元素,使用程序实现在控制台遍历该集合 思路:①创建存储字符串的集合 ②使用for循环遍历该集合 ③使用get方法获得集合元素 需求:创建一个存储学生对象的集合,存储三个学生对象,使用程序在控制台遍历这个集合 思路:①首先创建一个学生类,类中定义成员变量age和name,都由private修饰。在类中构造一 个无参的构造方法,再构造一个带参的构造方法,定义setxxx()方法和getxxx()方法 ②创建一个集合对象,然后创建学生对象,将学生对象添加到集合对象中 ③使用for循环遍历集合,在控制台输出结果 需求:创建一个存储学生对象的集合,存储三个学生对象,使用程序在控制台遍历这个集合,学 生的姓名和年龄来自键盘录入。 思路:①首先创建一个学生类,类中定义成员变量age和name,都由private修饰。在类中构造一 个无参的构造方法,再构造一个带参的构造方法,定义setxxx()方法和getxxx()方法 ②创建一个集合对象,然后创建Scanner对象,从键盘获取输入,创建学生对象,使用 setxxx()方法通过传递键盘录入的参数的方式,对学生属性进行赋值。最后把学生对象添 加到集合中。但是为了提高代码的复用性,这里使用定义了一个方法来实现 ③使用for循环遍历集合,在控制台输出结果 ①编写学生类 ②编写主界面 ③编写添加学生方法 ④编写判断添加学生学号是否重复方法 ④编写删除学生方法 ⑤编写修改学生方法 ⑥编写查看全部学生方法 方法名 说明 public ArrayList() 创建一个空的集合对象 public boolean add(E e) 将指定的元素追加到此集合的末尾 public void add(index,E element) 在此集合中指定位置插入指定的元素 package test1;
import java.lang.reflect.Array;
import java.util.ArrayList;
public class arrayListDemo1 {
public static void main(String[] args) {
//public ArrayList() 创建一个空的集合对象
ArrayList
1.3ArrayList常用方法
方法名 说明 public boolean remove(Obiect 0) public E remove(int index) 删除指定索引元素,返回被删除元素 public E set(int index,E element) public E get(int index) 返回指定索引处的元素 public int size() 返回集合中的元素的个数 package test2;
import java.util.ArrayList;
public class arrayListDemo2 {
public static void main(String[] args) {
ArrayList
1.4案例:ArrayList存储字符串并遍历
package test3;
import java.util.ArrayList;
public class arrayListDemo3 {
public static void main(String[] args) {
//创建存储字符串的集合
ArrayList
1.5案例:存储学生对象并遍历
package test4;
public class Student {
//定义成员变量
private int age;
private String name;
//构造方法
//无参构造方法
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 test4;
import java.util.ArrayList;
public class arrayListDemo4 {
public static void main(String[] args) {
//创建集合对象
ArrayListpackage test5;
public class Student {
private int age;
private String name;
public Student(){}
public Student(String name,int age){
this.name=name;
this.age=age;
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
}
package test5;
import java.util.ArrayList;
import java.util.Scanner;
public class arrayListDemo5 {
public static void main(String[] args) {
//创建集合对象
ArrayList
2.学生管理系统
package studentManagerSystem;
public class Student {
//定义成员变量
private String name;
private int age;
private String sid;
private int classroom;
//定义无参构造方法alt+insert根据自己的需要选择
public Student() {
}
//定义带四个参数的构造方法
public Student(String name, int age, String sid, int classroom) {
this.name = name;
this.age = age;
this.sid = sid;
this.classroom = classroom;
}
//set()、get()方法
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;
}
public String getSid() {
return sid;
}
public void setSid(String number) {
this.sid = number;
}
public int getClassroom() {
return classroom;
}
public void setClassroom(int classroom) {
this.classroom = classroom;
}
}
创建一个集合对象,用于接收学生对象用输出语句完成主页面的编写用Scanner完成键盘录入使用switch语句实现操作的选择使用while死循环完成再次回到主页面
创建Scanner对象,从键盘获取学生信息录入使用学生对象的set方法,将参数传递到学生成员变量中使用集合的add方法,将学生对象添加到集合中输出提示符:添加学生成功调用isUsed方法,将返回值赋值给flag如果flag为true,输出提示符,否则break使用while死循环实现程序回到这里
判断方法是否需要返回值和传递参数类型设置一个boolean类型的变量,赋值为false使用for循环遍历集合,如果集合中的学生对象的学号与输入学号一致则将变量flag修改为true返回flag
创建Scanner对象,从键盘获取要删除的学生学号使用for循环遍历集合,判断当输入学号与集合中的元素的学号相同时,使用集合对象的remove方法删除,当输入学号不存在时,输出:您输入的学号有误。
创建Scanner对象,从键盘获取要修改的学生学号使用for循环遍历集合,当输入学号与集合中的元素的学号相同时,输出提示符,让用户输入新的姓名、年龄、班级,使用set方法将这些属性赋值给成员变量,使用集合对象的set方法,将修改后的学生对象添加到集合中。
使用if语句做判断,当集合对象.size()==0时,输出:请先添加对象,并使用return语句结束方法。如果集合对象中的元素不为空时,使用输出语句输出一个打印格式。使用for循环遍历集合,使用集合对象.get获得集合元素。在通过Student.get()获得各个成员变量的值,并将它们打印出来。
package studentManagerSystem;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManager {
public static void main(String[] args) {
//创建集合对象
ArrayList



