2012-02-11 84 views
3
ArrayList<yellowPage> ob1 = new ArrayList<yellowPage>(); 
yellowPage thing = new yellowPage(100,100); 
thing.calc(i,y,s3); 
ob1.add(thing); 

我在thing中存儲了一些數據。我如何檢索存儲在ob1.thing中的值?如何檢索存儲在Java ArrayList中的對象值

+0

不相關,但是:Java命名約定,花花公子。 – m0skit0 2013-08-16 08:39:25

回答

10

如果你知道索引,你可以做黃頁

yellowPage yp = ob1.get(index); 

否則,你需要遍歷列表。

Iterator<yellowPate> iter = ob1.iterator(); 
while(iter.hasNext()) 
{ 
    yellowPage yp = iter.next(); 
    yp.whateverYouwantGet(); 
} 

注意:我只是在這裏鍵入代碼,可能會出現語法錯誤。

+1

無需演員。 – 2012-02-11 06:09:16

+0

如果我這樣做,它顯示爲「yellowPage @ addbf1」的值;但我怎麼能得到存儲在該對象內的值?請幫助我阿米爾 – user768990 2012-02-11 06:27:47

+0

YellowPage類有什麼,你需要在那裏使用那個getter。你可以張貼黃頁,並告訴你想訪問什麼價值? – kosa 2012-02-11 06:30:46

0

使用Iterator對象來執行此操作。

ArrayList<yellowPage> ob1 = new ArrayList<yellowPage>(); 
yellowPage thing = new yellowPage(100,100); 
thing.calc(i,y,s3);  
ob1.add(thing); 
yelloPage retrievedThing = null; 
Iterator<yelloPage> i = ob1.iterator(); 
if(i.hasNext()){ 
     retrievedThing = i.next(); 
} 
+0

將yellowPage對象作爲「取回的東西」後,從中得到你想要的。 – 2012-02-11 06:19:41

0

你可以有存儲在thing(可怕的命名變量)的數據只需從calc方法返回。這樣你就不需要在以後的調用中保持以前的計算狀態。否則,您只需要YellowPage類中的吸氣劑類型方法。

public class YellowPage { 

    private int result; 

    public void calc(...) { 
     result = ... 
    } 

    public int getResult() { 
     return result; 
    } 

} 
1
int x=5; 
int info=ob1.get(x).getInfo(); 

上面的例子將在第六屆指數讓你從你的黃頁類想要的任何信息(通過使用getter方法)(因爲0計數)您的數組列表OB1的。這個例子假設你想要一個黃頁的整數。您必須創建一個getter方法,並將x更改爲要從中檢索信息的黃頁的索引。

一個例子getter方法(你應該把你的黃頁類)看起來是這樣的:

public int getInfo() { return z; } 

在上述情況下z可在您的黃頁類的實例變量,包含的信息您正在尋找。你很可能不得不改變這個以適應你自己的情況。

如果您想從存儲在數組列表中的所有黃頁信息,那麼你就需要來遍歷它作爲Chrandra Sekhar建議

-3
Class ArrayList<E> 

語法

ArrayList<Integer> list = new ArrayList<Integer>(); 

更換了「整型「與名單所屬的班級相同。 在使用ensureCapacity操作添加大量元素之前,應用程序可以增加ArrayList實例的容量。這可能會減少增量重新分配的數量。 E表示一個元素,它可以是任何類。 ensureCapacity用於確保列表具有足夠的容量來接受新元素。每次向列表添加新項目時都會調用它。顧名思義,ArrayList使用數組來存儲項目。所以當數組被初始化時,它被賦予了一個任意的長度,比如10。現在一旦你添加了10個項目,如果你去添加第11個項目,它會崩潰,因爲它超出了數組的容量。因此,ensureCapacity被稱爲(內部)以確保有足夠的空間。因此,如果要添加第11個元素,則陣列大小可能會增加一倍,例如爲20.

0

打印列表並覆蓋toString方法。

public String toString() 
{ 
return (""+ a+b); //Here a and b are int fields declared in class 
} 

System.out.print(ob1);