在我的简单java应用程序中,我有这个函数返回ArrayList
:
Items.java
上课:
package com.example.Hadis;
/**
* Created by tux-world on 8/1/14.
*/
public class Items {
public int id;
public String content;
}
填充和返回结果的ArrayList函数:
DataBaseHelper.java
课程getFavorite
功能:
public ArrayList<Items> getFavorite(){
ArrayList<Items> arrayList = new ArrayList<Items>();
do {
Items dbItems = new Items();
dbItems.id = cursor.getInt(0);
dbItems.content = cursor.getString(1);
arrayList.add(dbItems);
} while (cursor.moveToNext());
return arrayList;
}
我想获取此返回ArrayList
并填写HashMap但我无法编程这部分项目
将类定义为类中的Method:
static Map<Integer,String> map = new HashMap<Integer,String>();
回复ArrayList
我的问题是:
DatabaseHandler db = new DatabaseHandler(ApplicationHadith.this);
ArrayList<Items> list = db.getFavorite();
Iterator<Items> it = list.iterator();
while(it.hasNext())
{
// map.put( it.id , it.content )
}
如何审核getFavorite()
并填写HashMap
?请帮帮我。谢谢
答案 0 :(得分:4)
只需使用简单的for循环,例如
for (Item item : list) {
map.put( item.id, item.content);
}
在这种情况下,我通常不会使用Iterator
。上面的enhanced for-loop syntax日期来自Java 5。
答案 1 :(得分:1)
您需要使用迭代器的next()
方法来获取Items
的实例:
Iterator<Items> it = list.iterator();
while(it.hasNext())
{
Items item = it.next();
map.put( item.getID() , item );
}
答案 2 :(得分:1)
while(it.hasNext())
{
Item item = (Item) it.next();
map.put( item.getId() , item.getContent() )
}
为id和内容生成getter