0

日付とニュースの説明を取得する RSS フィードがあります。同じ日付にその日のニュースが含まれるように配置するために追加したいと考えています。例えば、

date 1 - my news 1
       - my news 2
       - my news 3
4

3 に答える 3

5

コア 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);

外部ライブラリを使用できる場合、Guava にはそれを行うMultimapの概念があり、Android で正常に動作します

于 2012-05-11T09:44:13.833 に答える
2

グーグルからグアバライブラリを試してみてください(あなたはそれをアンドロイドで使うことができます)。このライブラリには、マルチマップ(配列リストバックエンドを使用してマルチマップを参照できます)など、多くの便利なデータ構造が含まれています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") 
于 2012-05-11T10:01:16.320 に答える
2

次のようなことを試してください:

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");  
于 2012-05-11T09:46:05.423 に答える