JAVA中想实现HashMap相反,能键名相同值不同?(解决相同姓名不同电话,有一电话就有一条列表) 5

关键代码:(请指教)ArrayList<HashMap<String,Object>>listItem=newArrayList<HashMap<String,Objec... 关键代码:(请指教)
ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
....
map.put("ItemTitle", phoneName);
Cursor phones = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null);
while (phones.moveToNext()) {
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
String phoneTpye = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
map.put("ItemText", phoneNumber);
listItem.add(map);// 在循环内部(多个号码处理),但是显示的都 是一样的姓名与号码,被覆盖了
Log.d(TAG,"phoneName:"+phoneName+ "testNum=" + phoneNumber + "type:" + phoneTpye);
}.....
展开
 我来答
sunchao8396789
2011-07-13 · 超过10用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:20.4万
展开全部
HashMap 不能实现键值相同的,你可以把电话号码和人名换一下,让电话号码作为键值就可以了呀。反正电话号码是不可以重复的。
更多追问追答
追问
好办法呀,我还真笨。谢谢
追答
再把我的回答设为推荐答案哦。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaoaoren2008
2011-07-13 · 超过26用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:59万
展开全部
HashMap,键名相同值不同这个是实现不了啦。
不过感觉你设计的有点问题,你可以把整个个人信息设计成一个对象,你的所有数据存在那个对象中。这样应该就不影响了。
更多追问追答
追问
你能讲的具体点嘛?因为一直这样考虑,所以...给多点提示行不?所有数据存存在对象中是什么意思?
追答
能把表关系也透露点么,重复姓名的人一定是同一个人不同电话对么?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式