现在的位置: 首页 > 综合 > 正文

写了一个狠龊的function,从listA中取出不同于listB的数据

2013年05月31日 ⁄ 综合 ⁄ 共 1842字 ⁄ 字号 评论关闭

     用最基本的方式写了一个很龊的function,为的是从listA中取出不同于listB的数据,当然有很多更好的方法来实现,权当抛砖引玉了。

     Come On. 来吧,大家讨论讨论,互相学习。

     如下:

        public static List<String>removeItems(List<String> listA,List<String> listB,int index){

                 List<String> _items = new ArrayList<String>();

                 if(listB.size() == 0) {

                      for ( inti = 0; i < listA.size(); i++) {

                           _items.add(listA.get(i));

                        }

                   }elseif(listA.size() == listB.size()){

                      

                   }else {

                        for (int j = index; j < listB.size(); j++) { 

                            for( int i = 0; i < listA.size(); i++) {

                               if (listA.get(i) != listB.get(j)) {

                                   _items.add(listA.get(i));

                                  //打印出listA中不同于listB的数据。

                                 System.out.println(index+":" + _items);

                               }

                            }

                            return removeItems(_items,listB,index+1);

                        }

                   }

                   return_items ;

            }

 

      public static void  main(String[] args){

             List<String> listA = new ArrayList<String>();

              

             listA.add("短期");

            listA.add("长期");

            listA.add("永久1");

            listA.add("永久2");

            List<String> list0 = newArrayList<String>();

 

            List<String> list1 = newArrayList<String>();

            list1.add( "长期");

           list1.add( "永久1");

       

          List<String> list2 = newArrayList<String>();

           list2.add( "短期");

           list2.add( "永久1");

           list2.add( "永久2");

       

           List<String> list3 = newArrayList<String>();

           list3.add( "短期");

           list3.add( "长期");

           list3.add( "永久1");

           list3.add( "永久2");

               

           List<String> result = removeItems(listA,list3,0);        

      }

 

抱歉!评论已关闭.