1、 基础案例
1. 训练案例1
1.1. 训练描述:【Collection接口】
1、 需求说明:自定义一个学生类,给出成员变量name和age,使用Collection集合存储自定义对象并遍历,遍历集合的时候,在控制台输出学生对象的成员变量值。
1.2. 操作步骤描述
1. 创建学生类。
2. 创建集合对象。
3. 创建元素对象。
4. 把元素添加到集合。
5. 遍历集合。
2. 训练案例2
2.1. 训练描述:【List接口、迭代器、普通for】
1、 需求说明:自定义一个学生类,给出成员变量name和age,使用List集合存储自定义对象并遍历,遍历集合的时候,在控制台输出学生对象的成员变量值。要求使用两种方式进行遍历(迭代器、普通for)。
2.2. 操作步骤描述
1. 创建学生类。
2. 创建集合对象。
3. 创建元素对象。
4. 把元素添加到集合。
5. 遍历集合。
3. 训练案例3
3.1. 训练描述:【List接口、增强for】
1、 需求说明:自定义一个学生类,给出成员变量name和age,使用List集合存储自定义对象并使用增强for进行遍历,遍历集合的时候,在控制台输出学生对象的成员变量值。
3.2. 操作步骤描述
1. 创建学生类。
2. 创建集合对象。
3. 创建元素对象。
4. 把元素添加到集合。
5. 遍历集合。
4. 训练案例4
4.1. 训练描述:【ArrayList类】
2、 需求说明:自定义一个学生类,给出成员变量name和age,使用List集合存储自定义对象并行遍历,遍历集合的时候,在控制台输出学生对象的成员变量值。要求使用三种方式进行遍历(迭代器、普通for、增强for)。
4.2. 操作步骤描述
1. 创建学生类。
2. 创建集合对象。
3. 创建元素对象。
4. 把元素添加到集合。
5. 遍历集合。
2、 扩展案例
1. 训练案例1
1.1. 训练描述:
1、 分析以下需求,并用代码实现:
1. 按照以下描述完成类的定义。
学生类
属性:
姓名name
年龄age
成绩score
行为:
吃饭eat()
stuty(String content)(content:表示学习的内容)
2. 定义学生工具StudentsTool,有四个方法,描述如下
public void listStudents(Student[] arr):遍历打印学生信息
public int getMaxScore(Student[] arr):获取学生成绩的最高分
public Student getMaxStudent(Student[] arr):获取成绩最高的学员
public int getAverageScore(Student[] arr):获取学生成绩的平均值
public int getCount(Student[] arr):获取不及格的学员数量
3. 定义测试类TestStudentTool,在main方法中首先创建长度为5的Student数组并初始化数据,再创建StudentsTool类的对象,并调用以上方法
1.2. 操作步骤描述
略
2. 训练案例2
2.1. 训练描述:
1、 分析以下需求,并用代码实现
1. 定义ArrayList集合,存入多个字符串"abc" "def" "efg" "def" "def" "qwe" "def" "def" "swd" "wwe" "def" "def"
2. 使用普通for循环获取集合中索引为3的元素并打印
3. 定义方法public static boolean myContains(ArrayList list,String str)
(1)参数
a.ArrayList list: 表示存储多个String数据的集合
b.String str: 表示一个字符串
(2)返回值
true: 表示list集合中包含字符串str
false: 表示list集合中不包含字符串str
4. 利用上面定义的mycontains方法统计集合中包含字符串"def"的数量
5. 删除集合中的所有字符串"def"(思路:循环判断集合中是否包含"def"字符串,包含就删除)
6. 将集合中每个元素中的小写字母变成大写字母
2.2. 操作步骤描述
略
3. 训练案例3
3.1. 训练描述:
1、 分析以下需求,并用代码实现
1. 定义Student类
属性:
姓名:String name
年龄:int age
成绩:int score
行为:
空参构造方法
有参构造方法
set和get方法
toString方法
2. 定义测试类,进行测试
(1)创建10个学生对象存入ArrayList集合中
(2)打印最高分的学员姓名、年龄、成绩 [要求封装1个方法 参数是集合对象 返回值类型为Student]
(3)打印10个学生的总成绩和平均分 [要求封装两个方法完成]
(4)打印不及格的学员信息及数量 [要求封装一个方法完成]
3.2. 操作步骤描述
略
4. 训练案例4
4.1. 训练描述:
1、 分析以下需求,并用代码实现
1. 定义ArrayList集合,存入多个字符串
如:"ab1" "123ad" "bca" "dadfadf" "dddaaa" "你好啊" "我来啦" "别跑啊"
2. 遍历集合,删除长度大于5的字符串,打印删除后的集合对象
提示:可以将原集合中所有长度大于5的字符串放入到新集合中,遍历新集合,新集合中的元素就是要删除的元素
3. 基于上一步,删除集合中元素包含0-9数字的字符串(只要字符串中包含0-9中的任意一个数字就需要删除此整个字符串)
提示:
(1)定义public static boolean myContains(String str)方法
功能:
判断str中是否包含0到9的数字
包含:返回true
不包含:返回false
(2)遍历原集合利用myContains方法将所有包含0-9的字符串放入新集合中
(3)新集合中的元素就是要删除的元素
4.2. 操作步骤描述
略
5. 训练案例5
5.1. 训练描述:
1、 分析以下需求,并用代码实现
定义MyArrays工具类,该工具类中有以下方法,方法描述如下:
1. public static void reverse(ArrayList<Integer> list);
参数ArrayList<Integer> list:要进行操作的集合对象
要求:对list集合对象中的元素进行反转(第一个和最后一个交换,第二个和倒数第二个交换,第三个和倒数第三个交换...)
2. public static Integer max(ArrayList<Integer> list);
参数ArrayList<Integer> list:要进行操作的集合对象
要求:求出list集合对象中的最大值并返回
3. public static Integer min(ArrayList<Integer> list);
参数ArrayList<Integer> list:要进行操作的集合对象
要求:求出list集合对象中的最小值并返回
4. public static intindexOf(ArrayList<Integer> list,Integeri);
参数ArrayList<Integer> list:要进行操作的集合对象
参数Integer i:需要在集合中查找的元素
要求:求出元素i在list集合中第一次出现的索引,如果没有返回-1
5. public static void replaceAll(ArrayList<Integer> list,Integer oldValue,Integer newValue);
参数ArrayList<Integer> list:要进行操作的集合对象
参数Integer oldValue:需要被替换掉的原值
参数Integer newValue:替换后的新值
要求:将list集合中的所有值为oldValue的元素替换为newValue
5.2. 操作步骤描述
略