2017-12-08 11 views
0

ArrayList 내에서 원래 객체 값을 변경해야하는 코드가 있습니다. 여기에 코드가 어떻게 작동하는지 알려주지 만 원래 객체의 값이 변경되는 것은 아닙니다.arraylist 내에서 객체 편집

for (int i = 0; i < pairedSystems.size(); i++) { 
     System sys = (System) pairedSystems.get(i); 
     if (sys.id() == system.id()) { 
      sys.addPower((int) pairedId.get(i), amount); 

     } 
    } 

검색된 개체가 ArrayList 내에서 수정된다는 것을 보증하는 코드 유형을 원합니다. 어떤 도움을 주셔서 감사합니다!

+1

반환 배열 목록을 당신의 방법에 당신이 개체를 편집 완료하고 이전에 전달 된 ArrayList를 할당 할 때? –

+0

@RAX_Muh_Taz 흠. 그럴 수도 있습니다. 나는 그것을 줄 것이다. – OneSurvivor

+0

새로운 개체가 아닙니다. 당신은 기존의 객체에 대한 새로운 레퍼런스를 생성하여 객체가 무엇이든 상관없이 수정 될 수 있도록합니다 ... –

답변

1

ArrayList.set()을 사용하면 주어진 색인에서 값을 설정할 수 있습니다. 객체를 수정 한 후에 인덱스에있는 객체를 설정합니다

pairedSystems.set(i, sys)

+1

답변 해 주셔서 감사합니다! 그것은 매력처럼 작동합니다. – OneSurvivor