我有一個Map
將舉行一個,並且只有一個Entry
。我知道這是肯定的,因爲它擁有執行這樣的查詢結果:如何優雅地從一個地圖得到唯一的元素
SELECT MAX(COLUMN) FROM SOMETABLE
在最壞的情況下,它應該返回null。 現在我試圖得到這個結果。我面臨兩種方法,但我認爲應該有更好的解決方案。
我的測試代碼:
HashMap<String, Object> result = new HashMap<String, Object>();
result.put("maxColumn", new Integer(1));
解決方案1:
Integer maxValue = (Integer) result.get(result.keySet().iterator().next());
解決方案2:
Integer maxValue = (Integer) result.values().toArray()[0];
有沒有更好的方式來做到這一點?哪一個你覺得更多的聲明/更便宜?
編輯:我不允許使用任何其他數據結構,因爲Map<String, Object>
是從我使用的持久性API返回的結果類型。
地圖是項目的集合。如果只有(最多)1條記錄,爲什麼要使用這個? – splungebob 2013-05-07 20:06:18
@splungebob我猜這是他使用的任何SQL庫的API的一部分(我認爲這是SQL給予他的查詢)。 – ajp15243 2013-05-07 20:09:06
http://codereview.stackexchange.com/ – 2013-05-07 20:10:26