我有一個RSS源,其中我獲取日期和新聞說明,我想添加以相同日期包含當天新聞的方式進行排列。例如,我應該在Java中使用哪種數據結構來獲取1個關鍵的多個值
date 1 - my news 1
- my news 2
- my news 3
我有一個RSS源,其中我獲取日期和新聞說明,我想添加以相同日期包含當天新聞的方式進行排列。例如,我應該在Java中使用哪種數據結構來獲取1個關鍵的多個值
date 1 - my news 1
- my news 2
- my news 3
嘗試是這樣的:
HashMap map = new HashMap();
//first list
List list = new ArrayList();
list.add("orange");
list.add("apple");
list.add("banana");
list.add("coconut");
map.put("fruits", list);
//seconds list
list = new ArrayList();
list.add("volvo");
list.add("saab");
list.add("honda");
list.add("toyota");
map.put("cars", list);
等等...
//to get from map
List fruits = (ArrayList)map.get("fruits");
List cars = (ArrayList)map.get("cars");
在Java核心,你可以使用地圖列表的:
Map<String, List<String>> map = new HashMap<String, List<String>>();
List<String> list1 = new ArrayList<String>();
list1.add("my news 1");
list1.add("my news 2");
list1.add("my news 3");
map.put("date 1", list1);
如果你可以使用外部庫,番石榴具有Multimap的概念,它是這樣做太,和works fine on Android。
非常感謝烏拉圭回合時居停.... – Programmer
從谷歌嘗試番石榴庫(你可以與Android使用它)。此lib目錄包含有許多有用的數據結構,如多重映射(你可以看看多地圖數組列表後端)http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/ArrayListMultimap.html):
map.put("date 1", "my news 1")
map.put("date 1", "my news 2")
map.put("date 1", "my news 3")
map.put("date 1", "my news 4")
List<String> news = map.get("date 1")
非常感謝你們值得的時間。 – Programmer
非常感謝居停烏爾時間。 – Programmer