2012-06-10 45 views
0

我有以下類別:如何更新ArrayList中包含的對象的屬性?

class A { 
    String s; 
    Double d; 
    A a; 
} 

class B { 
    String s; 
    Double d; 
} 

而下面的ArrayList:

List<A> A_list = new ArrayList<A>(); // List of A class object 
List<B> B_list = new ArrayList<B>(); // List of B class object 

所有我需要做的是:

iterate through A_list 
    iterate through B_list 
     if A_list.get(i).s is equal to B_list.get(j).s 
     // just update this A_list.get(i).d value without changing other properties 
     then A_list.get(i).d = A_list.get(i).d + B_list.get(j).d; 

有人可以請建議我(有一些如果可能,示例代碼)如何更新對象的arrayList中的特定對象屬性而不更改其他屬性?

我不是那麼有經驗的java。所以如果我犯了錯誤,請原諒我!

謝謝!

+1

您好,有解決辦法。 'A_list.get(i).d'是唯一被改變的東西... – hage

+0

@hage:這種改變會保存下來嗎?是否需要做任何A_list.set(),如果我有多個B_list並嘗試進一步進行更新? – flyleaf

+0

該列表僅保存對放入它們的對象的引用。因此,當您更改列表中項目的屬性時,此更改立即持續。 – hage

回答

0

我希望這可能對您有所幫助。

for (A arr : A_list){ 

     for (B brr : B_list){ 

      if ((arr.s).equals(brr.s)){ 

        arr.d = arr.d + brr.d; 

     } 

} 


} 
相關問題