有没有一种方法可以将ArrayList的特定元素复制到另一个空/不同的ArrayList中?

时间:2019-06-21 13:05:36

标签: java

-编辑- 我正在学习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,则继续读取文件。没有理由要保存在列表中并从中提取出来。无论如何,谢谢您的回答

1 个答案:

答案 0 :(得分:0)

  

是否可以将ArrayList的特定元素复制到另一个空/不同的ArrayList中?

  1. 您可以通过迭代列表并测试每个元素来找到列表的元素;例如

    for (ElementType element: list) {
        if (/* some test on 'element' */) {
            ...
        }
    }
    
  2. 要测试两个字符串值是否相等,请使用equals方法;例如

    if (str1.equals(str2)) {
        ...
    }
    
  3. 要向列表中添加元素,请使用add方法;例如

    list.add(element);
    

这不是复制对象,但是,如果您阅读此问题,可能请求将对象复制到列表中。