2011-11-13 130 views
1

我正在爲具有用戶輸入郵編的類的java項目工作,並且隨郵遞區號一起輸出的信息(城市,州..ect)被返回給用戶。ArrayList中的對象

所有的郵政編碼都存儲在一個ArrayList中,它將每個郵政編碼及其信息存儲在一個對象中。

這是用來代碼郵政編碼對象添加到數組列表:

ZipCode zip = new Zipcode(zipcode, city, state, lat, lon); 

zipCode.add(zip); 

我的我的問題是如何獲得的某些信息進行從每個對象的ArrayList?

例如,如果我想使用getZip()方法返回點39中zipCode對象的郵政編碼,那麼這將如何完成?

我希望我沒有混淆。

回答

3

* 例如,如果我想使用getZip()方法返回spotCode中的zipCode對象的郵政編碼,那麼這將如何完成? *

如何

zipCode.get(39).getZip() 

但是,好像你會使用一個Map<Integer, ZipCode> zipCodes受益,並使用

zipCodes.put(zipCodeNumber, zipObject); 
+0

我明白了。映射是數組列表的名稱? –

0

要將ArrayList的第n個索引檢索對象,用途:

arrayList.get(n) 

在你的情況,這將是:

ZipCode result = zipCode.get(39); 

然後你就可以調用產生的ZipCode對象的getZip()方法,說:

result.getZip(); 
0

簡單地用get()方法訪問數組列表。

對於示例:

zipCode.get(39).getZip(); 

很抱歉的錯誤,我回答了這個太快。

+0

-1。這是行不通的。這是Java。 – aioobe

+0

它是一個ArrayList而不是一個數組。 –

1

記住 - 你有(至少)兩個不同

  • 你的 「郵政編碼」

    ......還有......

  • 的郵政編碼列表

因此,您的實際代碼應該看起來可能是這樣的:

List<ZipCode> zipCodeList = new List<ZipCode>(); 
    ZipCode aZipCode = new Zipcode(zipcode, city, state, lat, lon); 
    zipCodeList.add (aZipCode); 

你 「getZip()」 函數(無論你決定可能看起來像這樣:

ZipCode myZip = someOtherObject.getZip (i); 

關鍵是要決定你的課程是什麼,以及每個課程是「負責」做什麼的。其餘的(包括你的實際執行)如下。

這可能有助於在一張紙上寫下簡單的類圖:帶有類名稱,主要方法和主要字段的框。有點像UML - 只有簡單儘可能。

'希望有幫助!

PS: 我認爲你的「getZip()」方法返回了整個「ZipCode」對象(緯度,經度...以及「zipcode」)。也許你只需要一個「zipcode」的訪問器方法(例如「90630」)。在這種情況下,我會推薦這樣的:

List<ZipCode> zipCodeList = new List<ZipCode>(); 
    zipCodeList.add ("90210", "Beverly Hills", "CA", "000000.00", "000000.00"); 
    ... 
    ZipCode zipCode = zipCodeList[0]; 
    string zipcode = zipCode.getZipcode(); 
    string state = zipCode.getState(); 
    ...