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");
      }
------解决方案--------------------
------解决方案--------------------
要重写equals hashCode两个方法