-编辑- 我正在学习Java考试,必须从文件中读取信息后创建Student的N个对象。 并通过键盘创建活动列表。 对于每个学生,我必须检查所有活动,如果发现具有相同学生姓氏的活动,则必须在“学生”对象中进行复制。
This are the class that I have created.
public class Student{
**String Surname;**
int Age;
ArrayList<Activity> list;
}
public class Activity{
**String Surname;**
String ActName;
int hour;
}
假设已经从文件中读取了两名学生。
Student1 Rossi,21岁
Student2 Holmes,25岁
并假设我参加了3次活动
Rossi数学10小时
福尔摩斯英语20小时
福尔摩斯的故事12小时
复制相应活动后的最终输出:
Student1 Rossi,21岁,{Math 10hours}
Student2 Holmens,25岁,{英语20小时,故事12小时}
---编辑- 我找到了一种解决问题的方法,我读取了文件,检查姓氏是否与我的对象相同;如果为true,则将该对象添加到列表中;如果为false,则继续读取文件。没有理由要保存在列表中并从中提取出来。无论如何,谢谢您的回答
答案 0 :(得分:0)
是否可以将ArrayList的特定元素复制到另一个空/不同的ArrayList中?
您可以通过迭代列表并测试每个元素来找到列表的元素;例如
for (ElementType element: list) {
if (/* some test on 'element' */) {
...
}
}
要测试两个字符串值是否相等,请使用equals
方法;例如
if (str1.equals(str2)) {
...
}
要向列表中添加元素,请使用add
方法;例如
list.add(element);
这不是复制对象,但是,如果您阅读此问题,可能请求将对象复制到列表中。