Java检索返回的ArrayList到HashMap

时间:2014-08-01 16:25:17

标签: java android arraylist

在我的简单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?请帮帮我。谢谢

3 个答案:

答案 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