Java 为什么我的数组包含相同的元素?

Java 为什么我的数组包含相同的元素?,java,arrays,object,for-loop,arraylist,Java,Arrays,Object,For Loop,Arraylist,这里是Java初学者。我试图将结果对象从ArrayList添加到数组(稍后排序)。我知道ArrayList可能会更好,但我必须在这个任务中至少使用一个数组 在我的代码中,我创建了一个数组的副本,该数组是类事件的实例,我试图对其进行迭代,并添加来自不同参与者对象的最佳结果。当我运行此操作时,只会将最近添加的参与者的最佳结果添加到数组中(所有索引中都是相同的对象)。如何添加列表中所有对象的结果 public void createBestResultArray(Event e) {

这里是Java初学者。我试图将结果对象从ArrayList添加到数组(稍后排序)。我知道ArrayList可能会更好,但我必须在这个任务中至少使用一个数组

在我的代码中,我创建了一个数组的副本,该数组是类事件的实例,我试图对其进行迭代,并添加来自不同参与者对象的最佳结果。当我运行此操作时,只会将最近添加的参与者的最佳结果添加到数组中(所有索引中都是相同的对象)。如何添加列表中所有对象的结果

public void createBestResultArray(Event e) {        
    resultArray = Arrays.copyOf(resultArray,e.getParticipantAmount());

    for(Participant p1 : participantsInEvent){
          for (int i = 0; i < resultArray.length ; i++){
             resultArray[i] = p1.getBestResult(e);
          } 
    }
    System.out.print(Arrays.toString(resultArray));
}
public void createBestResultArray(事件e){
resultArray=Arrays.copyOf(resultArray,e.getParticipantAmount());
用于(参与者p1:参与者SINENT){
for(int i=0;i
您需要更改for循环。假设
participantsinent
是一个
列表
,按如下方式更改循环:

for(int i=0;i<participantsInEvent.size();i++) {
    resultArray[i] = participantsInEvent.get(i).getBestResult(e) ;
}

用于(int i=0;iIt如果你能粘贴
事件
类的代码就更容易分析了。什么是
participantsinent
变量?最近添加的参与者的最佳结果被添加到数组中你的意思是整个数组只包含一个元素吗?@Nathalie我的回答解决了你的问题了吗?如果没有,请留下一个co请进一步澄清。请同时阅读。在堆栈溢出上执行此操作被认为是良好的礼仪。@CKing谢谢您的回答!我的问题现在已解决。谢谢您提供的信息,我是堆栈溢出新手,所以我不太了解它在这里的工作原理。