在android中的arraylist中循环hashmap

时间:2015-07-17 11:41:22

标签: java android arraylist hashmap

我有一个包含ArrayList的{​​{1}}。它定义如下:

HashMap

我有一个列表,其中包含一组项目。当我单击列表中的任何选项时,它将获得项目的名称并存储在ArrayList<HashMap<String, String>> usersList1; 中。我在代码中循环了String,如下所示。

HashMap

我的疑问是,当我检查null时,它显示(key)和(entry.get(key)),但我想仅在其值为null else(entry.get(key))时显示键。例如,在数组中,我有一个空值的jj键,另一个带有值。一个空值应该打印键,一个没有空值应该打印值。这样可以实现

我的数组在日志

中看起来像这样
list.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        TextView text=(TextView) view.findViewById(R.id.category);
        String item = text.getText().toString();

        for (HashMap<String, String> entry : usersList1) {                                 
            if (entry.containsKey(item)) {                                   
                for (String key : entry.keySet()) {
                    if (entry.get(key).equals("")) {
                        System.out.println(key);
                    }
                    else if (!entry.get(key).equals("")) {
                        System.out.println(entry.get(key));
                    }
                }                    
            }                                                      
        }       
    }
});

我怎样才能做到这一点?这个代码很有用

2 个答案:

答案 0 :(得分:0)

if (entry.get(key).equals("")) {
    System.out.println(key);
}
else if (!entry.get(key).equals("")) {
    System.out.println(entry.get(key));
}

答案 1 :(得分:0)

试试这个:

for (Map<String,String> map: userList1) {
    for(Map.Entry<String,String> entryMap: map.entrySet()) {
        //Your code or whatever here...
        if (entryMap.getKey().equals(item)) {

        }
    }
}