日期:2014-05-20  浏览次数:20785 次

HashSet集合,条件判断问题
HashSet集合中有元素

312
213
231
123
132
321

问题:如何重设HashSet中的元素
使条件满足
 1不在第二位
 1,2不相连

也就是能打印出最后的结果只有
231,132




------解决方案--------------------
探讨
HashSet集合中有元素

312
213
231
123
132
321

问题:如何重设HashSet中的元素
使条件满足
1不在第二位
1,2不相连

也就是能打印出最后的结果只有
231,132

------解决方案--------------------
用枚举来做遍历即可,参见:

Java code

    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);
    }