隨筆-42  評論-42  文章-0  trackbacks-0
          User[] a;
          User[] b;
          /*
          a,b 賦值
          */



          //將a,b轉換成Set型,這里轉換a,b的方法不同
          List<User> aList=Arrays.asList(a);
          Set
          <User> aSet=new HashSet<User>();
          aSet.addAll(aList);

          Set
          <User> bSet=new HashSet<user>();
          for(User u:b){
            bSet.add(u);
          }


          //求子集
          bSet.removeAll(aSet);

          return bSet;

            這里先用到了Arrays的靜態方法asList();(Arrays與Array的關系,參照Collection與Collections的關系)。
            再用到了Set 的removeAll(Conllection<?> c) ,這個方法的返回值是boolean型,移除 set 中那些包含在指定 collection 中的元素(可選操作)。如果指定的 collection 也是一個 set,則此操作會實際修改此 set,這樣其值是兩個 set 的一個不對稱差集。(java API)
          posted on 2008-07-01 18:29 BlueSunshine 閱讀(892) 評論(2)  編輯  收藏 所屬分類: 學習心得

          評論:
          # re: 同類型數組a,b, a為b的子集,求出a的補集 2009-09-21 14:45 | *
          BitSet bs = new BitSet();

          int[] b = { 1, 2, 3, 4, 5 };

          int[] a = { 1, 4 };

          for (int i : a) {
          bs.set(i);
          }

          for (int i : b) {
          if (bs.get(i) == false)
          System.out.println(i);
          }  回復  更多評論
            
          # 編寫程序,實現集合的子集判定,即如果A是B的子集則返回真,否則返回假。集合用棧實現,要求只能用棧的基本操作,不能通過下標遍歷棧中的元素。集合元素可限定為整型。如果需要,可使用普通變量或另外的棧輔助。 2012-11-27 13:10 | 李志雄
          。。。。  回復  更多評論
            
          主站蜘蛛池模板: 岚皋县| 章丘市| 吉隆县| 阿坝县| 中超| 霍山县| 铁岭县| 白河县| 华阴市| 阿坝| 宁城县| 龙南县| 三明市| 高密市| 徐州市| 溆浦县| 乐平市| 安图县| 科技| 平果县| 宜城市| 鄂尔多斯市| 大理市| 灵石县| 井研县| 仙游县| 沙湾县| 陆河县| 论坛| 武穴市| 昭苏县| 清丰县| 甘谷县| 泰顺县| 临沧市| 康保县| 集安市| 登封市| 义马市| 梅州市| 常熟市|