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中的對象值
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中的對象值
如果你知道索引,你可以做黃頁
yellowPage yp = ob1.get(index);
否則,你需要遍歷列表。
Iterator<yellowPate> iter = ob1.iterator();
while(iter.hasNext())
{
yellowPage yp = iter.next();
yp.whateverYouwantGet();
}
注意:我只是在這裏鍵入代碼,可能會出現語法錯誤。
無需演員。 – 2012-02-11 06:09:16
如果我這樣做,它顯示爲「yellowPage @ addbf1」的值;但我怎麼能得到存儲在該對象內的值?請幫助我阿米爾 – user768990 2012-02-11 06:27:47
YellowPage類有什麼,你需要在那裏使用那個getter。你可以張貼黃頁,並告訴你想訪問什麼價值? – kosa 2012-02-11 06:30:46
使用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();
}
將yellowPage對象作爲「取回的東西」後,從中得到你想要的。 – 2012-02-11 06:19:41
你可以有存儲在thing
(可怕的命名變量)的數據只需從calc
方法返回。這樣你就不需要在以後的調用中保持以前的計算狀態。否則,您只需要YellowPage
類中的吸氣劑類型方法。
public class YellowPage {
private int result;
public void calc(...) {
result = ...
}
public int getResult() {
return result;
}
}
int x=5;
int info=ob1.get(x).getInfo();
上面的例子將在第六屆指數讓你從你的黃頁類想要的任何信息(通過使用getter方法)(因爲0計數)您的數組列表OB1的。這個例子假設你想要一個黃頁的整數。您必須創建一個getter方法,並將x更改爲要從中檢索信息的黃頁的索引。
一個例子getter方法(你應該把你的黃頁類)看起來是這樣的:
public int getInfo() { return z; }
在上述情況下z可在您的黃頁類的實例變量,包含的信息您正在尋找。你很可能不得不改變這個以適應你自己的情況。
如果您想從存儲在數組列表中的所有黃頁信息,那麼你就需要來遍歷它作爲Chrandra Sekhar建議
Class ArrayList<E>
語法
ArrayList<Integer> list = new ArrayList<Integer>();
更換了「整型「與名單所屬的班級相同。 在使用ensureCapacity操作添加大量元素之前,應用程序可以增加ArrayList實例的容量。這可能會減少增量重新分配的數量。 E表示一個元素,它可以是任何類。 ensureCapacity
用於確保列表具有足夠的容量來接受新元素。每次向列表添加新項目時都會調用它。顧名思義,ArrayList
使用數組來存儲項目。所以當數組被初始化時,它被賦予了一個任意的長度,比如10。現在一旦你添加了10個項目,如果你去添加第11個項目,它會崩潰,因爲它超出了數組的容量。因此,ensureCapacity
被稱爲(內部)以確保有足夠的空間。因此,如果要添加第11個元素,則陣列大小可能會增加一倍,例如爲20.
打印列表並覆蓋toString方法。
public String toString()
{
return (""+ a+b); //Here a and b are int fields declared in class
}
System.out.print(ob1);
不相關,但是:Java命名約定,花花公子。 – m0skit0 2013-08-16 08:39:25