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 ,程序就会停止
[解决办法]
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"); }
[解决办法]