HashSet集合中有元素312
213
231
123
132
321问题:如何重设HashSet中的元素
使条件满足
 1不在第二位
 1,2不相连也就是能打印出最后的结果只有
231,132

解决方案 »

  1.   

    意思是中间只能为3,遍历set,满足以下条件即可。
    str.indexOf('3') == 1;
      

  2.   

    意思是中间只能为3,遍历set,满足以下条件即可。
    str.indexOf('3') == 1;
    [/Quote]我想问的是,如果我的数据是很多的呢?我该怎么办HashSet中好像没能方法,indexOf
      

  3.   

    用枚举来做遍历即可,参见:
        public static void main(String[] args) {
            HashSet<String> set = new HashSet<String>();
            set.add("312");
            set.add("213");
            set.add("231");
            set.add("123");
            set.add("132");
            set.add("321");
            for (Iterator iterator = set.iterator(); iterator.hasNext();) {
                String str = (String) iterator.next();
                if (str.charAt(1) == '1') {
                    iterator.remove();
                } else if (str.indexOf("12") >= 0 || str.indexOf("21") >= 0) {
                    iterator.remove();
                }
            }
            System.out.println(set);
        }