隨筆-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 閱讀(890) 評論(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 | 李志雄
          。。。。  回復  更多評論
            
          主站蜘蛛池模板: 贡觉县| 商河县| 勃利县| 金川县| 泌阳县| 剑川县| 平陆县| 余江县| 宜州市| 彝良县| 乌兰浩特市| 荥经县| 沙雅县| 阜新| 金秀| 贵德县| 陆良县| 清丰县| 乐昌市| 宜兰市| 中阳县| 英超| 开化县| 石狮市| 灌南县| 朔州市| 营山县| 金坛市| 阜新| 婺源县| 延川县| 监利县| 兴隆县| 兖州市| 宽甸| 介休市| 临清市| 温泉县| 思南县| 旬阳县| 安泽县|