我正在尋找一種方法來獲取兩個變量chipNum
和channel
並將它們映射到另一個變量ComboPin
。 chipNum
可以具有值1 - 5和channel
可以是0 - 23.根據組合,類似: (1,9) -> (11)
(2,10) -> (37)
(3,15) -> (66)
從2個變量的映射中獲得結果
注意chipNum和信道是字符串類型,我想ComboPin到也是String類型的。
我想避免使用一堆if語句條件或case語句。
我已經做了一些研究,並看到哈希映射或map.put()
,但我只看到這與一個值映射到另一個。我只是在尋找我可以去做的方向。
生成的(ComboPin)將被放入我的數據庫。感謝您的幫助,我可以得到。
這裏有兩個** BIG **要求。一個用於'ComboPin'在Map中工作,另一個用於讀寫數據庫。你可能想分開這些問題並分別詢問。 – markspace
「map」將一個「value」(_key_)映射到另一個,但該鍵可以是任何對象,包括具有兩個專用字段的對象,例如'chipNum'和'channel'。你可以通過定義你自己的擁有這兩個值的類來做到這一點。確保在類中重寫'equals'和'hashCode'。 – ajb
對於地圖,您需要確保您[正確地覆蓋'equals()'和'hashCode()'](http://www.ibm.com/developerworks/library/j-jtp05273/)。 – markspace