1、 基础案例
1. 训练案例1
1.1. 训练描述:【HashSet类】
1、 需求说明:自定义一个学生类,给出成员变量name和age,使用HashSet集合存储自定义对象并遍历,遍历集合的时候,在控制台输出学生对象的成员变量值。要求使用两种方式进行遍历(迭代器、增强for)。
2、 当上述内容解决完毕以后,如果集合中存储的学生对象,年龄和姓名都相同,认为是同一个人,就不存储在集合中,该如何做呢。
1.2. 操作步骤描述
1. 创建学生类。
2. 创建集合对象。
3. 创建元素对象。
4. 把元素添加到集合。
5. 遍历集合。
6. 为了保证集合存储元素的唯一性,需要在学生类中重写equals()和hashCode()方法。
2. 训练案例2
2.1. 训练描述:【HashMap】
3、 需求说明:自定义一个学生类,给出成员变量name和age,创建HashMap集合键是String,代表学号,值是自定义学生对象,代表每一个学生,给集合中添加一些元素,并使用两种方式遍历HashMap集合。
2.2. 操作步骤描述
1. 创建学生类。
2. 创建集合对象。
3. 创建学生对象。
4. 把元素添加到集合。
5. 遍历集合。
3. 训练案例3
3.1. 训练描述:【HashMap】
1、 需求说明:自定义一个学生类,给出成员变量name和age,创建HashMap集合键是自定义学生对象,代表每一个学生,值是String,代表学生地址,给集合中添加一些元素,并使用两种方式遍历HashMap集合。如果学生对象的成员变量值相同,就说明是同一个键。
3.2. 操作步骤描述
1. 创建学生类。
2. 创建集合对象。
3. 创建元素对象。
4. 把元素添加到集合。
5. 遍历集合。
4. 训练案例4
4.1. 训练描述:【ArrayList类、HashMap】
1、 需求说明:ArrayList集合嵌套HashMap集合并遍历。
定义一个ArrayList集合,它包含三个元素,每一个元素都是HashMap类型的。每一个HashMap集合的键和值都是String类型的,
键:String丈夫的姓名
值:String妻子的姓名
给出如下的字符串数据,请用代码实现需求。
第一个HashMap集合的元素:
孙策大乔
周瑜小乔
第二个HashMap集合的元素:
郭靖黄蓉
杨过小龙女
第三个HashMap集合的元素:
令狐冲任盈盈
林平之岳灵珊
4.2. 操作步骤描述
略
5. 训练案例5
5.1. 训练描述:【ArrayList类、HashMap】
2、 需求说明:HashMap集合嵌套ArrayList集合并遍历。
定义一个HashMap集合,它包含三个元素,每一个元素的键是String类型,值是ArrayList类型。
键:String人物来自哪部电视剧
值:ArrayList人物的名称
每一个ArrayList集合的数据是String类型的。
给出如下的字符串数据,请用代码实现需求。
第一个ArrayList集合的元素:(三国演义)
诸葛亮
赵云
第二个ArrayList集合的元素:(西游记)
唐僧
孙悟空
第三个ArrayList集合的元素:(水浒传)
武松
鲁智深
5.2. 操作步骤描述
略
2、 扩展案例
1. 训练案例1
1.1. 训练描述:
1、 分析以下需求,并用代码实现:
1. 定义一个长度为10的int数组,并存入10个int类型的数据,其中有一些数据是重复的
2. 利用集合的知识对数组进行去重,产生新数组,不能改变数组中原来数字的大小顺序
3. 打印新数组中的内容按照以下描述完成类的定义。
1.2. 操作步骤描述
略
2. 训练案例2
2.1. 训练描述:
1、 需求分析:键盘读取一行输入,去掉其中重复字符, 打印出不同的那些字符
2.2. 操作步骤描述
1. 键盘录入字符串
2. 遍历字符串,将每个字符存储到集合中
3. 将集合中重复的字符去掉
4. 创建新集合,遍历老集合,获取老集合中的元素,判断新集合中是否包含这个元素
a) 如果不包含,则将这个元素添加到新集合中
5. 清空老集合中元素
6. 将新集合中的元素添加到老集合中
7. 遍历老集合
3. 训练案例3
3.1. 训练描述:
1、 分析以下需求,并用代码实现
1. 产生10个1-20之间的随机数要求随机数不能重复
2. 产生10个长度为10的不能重复的字符串(里面只能出现大写字母、小写字母、0-9的数字),并遍历打印输出
3.2. 操作步骤描述
略
4. 训练案例4
4.1. 训练描述:
1、 分析以下需求,并用代码实现
1. 利用键盘录入,输入一个字符串
2. 统计该字符串中各个字符的数量(提示:字符不用排序)
3. 如:
用户输入字符串"If~you-want~to~change-your_fate_I_think~you~must~come-to-the-dark-horse-to-learn-java"
程序输出结果:-(9)I(2)_(3)a(7)c(2)d(1)e(6)f(2)g(1)h(4)i(1)j(1)k(2)l(1)m(2)n(4)o(8)r(4)s(2)t(8)u(4)v(1)w(1)y(3)~(6)
4.2. 操作步骤描述
1. 创建map集合,键为Character,值为Integer
2. 键盘录入字符串 str
3. 将字符串转换为字符数组,并遍历这个字符数组,获取每个字符
4. 在循环中判断集合中map集合中的键是否包含这个字符,如果map集合中的键不包含这
a) 个字符,那么就让map执行put方法,键就是遍历到的字符,值为1
b) 如果map集合中包含这个键,就让map集合的值 + 1存储
5. 循环完毕后,遍历map集合进行打印,打印过程中按照指定格式来进行。
5. 训练案例5
5.1. 训练描述:
1、 分析以下需求,并用代码实现
1. 统计每个单词出现的次数
2. 有如下字符串"If you want to change your fate I think you must come to the dark horse to learn java"(用空格间隔)
3. 打印格式:
to=3
think=1
you=2
//........
5.2. 操作步骤描述
略