如何清除哈希映射<string,string> values?</string,string>

时间:2014-09-06 06:58:46

标签: java android sqlite hashmap adt

我希望在将值从db分配给哈希映射之前清除所有哈希映射值。例如,hashmap<string,string> demo是我的哈希映射,因为我已经从db添加了以下值。结果响应来自hashmap是{A=1, B=2, C=3, D=4, E=5}。在视图加载之后我想在上面的hashmap {A=test, B=demo, C=sample, D=empty, E=null}中插入它。为此我如何在插入第二组值之前清除第一个值。我也尝试过使用{ {1}}它无法正常工作。如何在添加第二个值之前清除第一个值列表。建议解决问题的一些解决方案。

这是从db。

检索数据的代码
demo.clear()

在这个演示中,只有我上面解释的响应。然后我正在做这个

public HashMap<String, String> getdata() {
    try {
        HashMap<String, String> map = new HashMap<String, String>();
        Log.e("getdata", "Started");
        String selectQuery = "SELECT * FROM tablename";
        SQLiteDatabase database = this.getWritableDatabase();
        Cursor cursor = database.rawQuery(selectQuery, null);
        if (cursor.moveToFirst()) {
            do {
                map.put(cursor.getString(cursor.getColumnIndex("colmn1")),
                        cursor.getString(cursor.getColumnIndex("colmn2")));
            } while (cursor.moveToNext());
        }
        cursor.close();
        return map;

    } catch (Exception e) {
        e.printStackTrace();
        Log.e("getdata", "Ended");
    }
    return null;

}

通过这种方式将值传递给哈希映射。

if(demo.isEmpty())
        {
//code for correct condition
        }
else
    {
     demo.clear();
    }

我的Logcat例外:

demo = dbhelper.getdata();

1 个答案:

答案 0 :(得分:6)

hMap.clear()对我来说一直很好。

还是

hMap.put("A","test");

将自动覆盖键&#34; A&#34;。

的现有值

如果您仍希望清除值,

您可以使用

hMap = new HashMap<String,String>();

将在hMap中初始化一个新的hashmap。