2013-02-11 48 views
2

當你用Java編碼時,你是否有一個經驗法則,你很容易知道使用哪一個(大小或長度)?使用大小或長度是否有一個經驗法則?

可以記住哪個數據結構有什麼方法,但有沒有更簡單的方法呢?

例如,如果你定義了一個int數組,但是你需要使用ArrayList的長度。

(我的經驗法則是使用數組的長度和大小像收集和ArrayList數據結構)

+2

像IntelliJ這樣的IDE將幫助你排除這種情況。如果沒有,請使用javadocs。不要背誦這樣的瑣事。 – duffymo 2013-02-11 18:22:05

+0

經驗法則就足夠了。如果需要的話,查找API。 – nhahtdh 2013-02-11 18:22:28

+0

我的經驗法則就是對一切都使用相同的規則。實際上,長度比較難應用於像TreeSet或HashSet這樣不直觀的連續集合,但根據集合的種類,實際上不需要有兩個不同的名稱。 – Jack 2013-02-11 18:22:36

回答

5

經驗法則是使用由API提供給您的字段或方法。就是這樣。

如果您有像Eclipse這樣的IDE,您可以鍵入列表名稱,點擊.鍵,然後等待顯示公共字段或訪問器列表,以便您可以滾動瀏覽並瀏覽正確的。這比記憶更容易(儘管記憶從長遠來看可能會更好地爲你服務)。

  • 原始陣列使用length
  • Strings(即CharSequences)使用length()
  • 和幾乎所有其他人使用size()

(小編:中Collectionssize()功能使您只有數量填充的字段,而不是分配給Collection的字段的實際數量,每當其當前a )。

+0

我明白我可以使用API​​來幫助我,但是我想知道它背後的理由是什麼,如果理解了理性,可以更容易地記住一個大小和一個長度。 – sheidaei 2013-02-11 18:24:21

+0

「幾乎所有其他」使用size()=>是否有任何可以引用它的文檔並使其它所有內容都可以使用?我認爲其他的一切都使用Size(),但我不確定。 – sheidaei 2013-02-11 18:27:57

+0

沒有理由,它只是發生。是的,這是糟糕的設計。 – starblue 2013-02-11 18:29:18

0

我會向你推薦這個相關的S.O.崗位:

count vs length vs size in a collection

這表明,該公約是基於成語和語言的細微差別,什麼是直觀的。

+0

這是關於Java還是一般說話?集合使用的大小也不在Java中。我錯過了什麼嗎? – sheidaei 2013-02-11 18:30:22

相關問題