隨筆-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 閱讀(888) 評論(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 | 李志雄
          。。。。  回復  更多評論
            
          主站蜘蛛池模板: 海晏县| 阿城市| 和政县| 郯城县| 育儿| 渑池县| 宁陕县| 平邑县| 惠东县| 遵义市| 平南县| 策勒县| 延川县| 革吉县| 安塞县| 平顶山市| 封开县| 铅山县| 吴江市| 山阴县| 灵丘县| 吴旗县| 鸡东县| 玛沁县| 潢川县| 涞源县| 六枝特区| 柳河县| 萨迦县| 泰来县| 恩施市| 横山县| 普洱| 江阴市| 阳春市| 富平县| 建水县| 奎屯市| 咸阳市| 合作市| 田东县|