Map<String, String>的数据处理以及ListView的适配器
Map<String, String> map = new HashMap<String, String>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过Map.keySet遍历key和value:"); for (String key : map.keySet()) { System.out.println("key= "+ key + " and value= " + map.get(key)); } //第二种 System.out.println("通过Map.entrySet使用iterator遍历key和value:"); Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, String> entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } <span style="color:#FF0000;"> //第三种:推荐,尤其是容量大时</span> System.out.println("通过Map.entrySet遍历key和value"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //第四种 System.out.println("通过Map.values()遍历所有的value,但不能遍历key"); for (String v : map.values()) { System.out.println("value= " + v); }
public class HashMapAdapter extends BaseAdapter { private HashMap<String, String> mData = new HashMap<String, String>(); private String[] mKeys; public HashMapAdapter(HashMap<String, String> data){ mData = data; mKeys = mData.keySet().toArray(new String[data.size()]); } @Override public int getCount() { return mData.size(); } @Override public Object getItem(int position) { return mData.get(mKeys[position]); } @Override public long getItemId(int arg0) { return arg0; } @Override public View getView(int pos, View convertView, ViewGroup parent) { String key = mKeys[pos]; String Value = getItem(pos).toString(); //do your view stuff here return convertView; } }