首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

ArrayList中存放map,确保map中的值唯一,小弟我也测试了,可以,但是不知道是否有没有考虑到得地方.望解答,多谢

2012-03-08 
ArrayList中存放map,确保map中的值唯一,我也测试了,可以,但是不知道是否有没有考虑到得地方..望解答,谢谢

ArrayList中存放map,确保map中的值唯一,我也测试了,可以,但是不知道是否有没有考虑到得地方..望解答,谢谢
具体代码如下:
  List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
  Map<String,Object> map1 = new HashMap<String,Object>();
map1.put("linkMail", "aa@a.com");
Map<String,Object> map2 = new HashMap<String,Object>();
map2.put("linkMail", "aa@a.com");
Map<String,Object> map3 = new HashMap<String,Object>();
map3.put("linkMail", "2aa@a.com");
list.add(map1);
list.add(map2);
list.add(map3);

String mail1= null;
String mail2 = null;
for (Map temp : list){
mail1 = (String)temp.get("linkMail");
if(mail1.equals(mail2)){
throw new Exception("error");
}
mail2 = mail1;

如果有相同的 想让程序停止运行,不知道这样对吗?谢谢解答~

[解决办法]
不需要抛出异常的,continue就可以了
[解决办法]
你想让程序停止,那就是System.exit(-1);这是意外的停止,但是可以实现停止的功能。


你这个throw Exception,只是抛出一个异常。并没用使程序停止。
[解决办法]
throw new Exception("error");
这个应该是
throw new RuntimeException("error");吧?
楼主试一试
[解决办法]
用returned呀,关键时刻怎能忘记它呢
[解决办法]
不好意思,写错了,用return ,程序就会停止
[解决办法]

Java code
      List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();      Map<String, Object> map1 = new HashMap<String, Object>();      map1.put("linkMail", "aa@a.com");      Map<String, Object> map2 = new HashMap<String, Object>();      map2.put("linkMail", "aa@a.com");      Map<String, Object> map3 = new HashMap<String, Object>();      map3.put("linkMail", "2aa@a.com");      list.add(map1);      list.add(map2);      list.add(map3);            Set<Map<String, Object>> set = new HashSet<Map<String, Object>>(list);      if(set.size() != list.size()) {         throw new Exception("error");      }
[解决办法]
探讨
不好意思,表达有点错误了,最主要的是 :这样判断list中存放map的值是否相同的比较方法对吗?

[解决办法]
要重写equals hashCode两个方法

热点排行
Bad Request.