RT
我要删除一个数组中的元素,该怎么做。比如:
int a[] = {0,1,2,3,4,5,6,7,8,9} ;
int b[] = {3,5,1} ;
我要将a中包含b的元素删除。就是把3,5,1分别删除。应该怎么做,求大神指点。拜谢

解决方案 »

  1.   

    a.asList()
    用list的remove方法
    再把LIST 变回ARRAY, list.toArray也可以把删掉的元素记做NULL, 你不可以改变array的长度
      

  2.   

    用ArrayList类中remove方法,不知道可以查下(百度)
      

  3.   

    数组创建了之后貌似是不能节点的
    如果想删节点还是用List吧。
      

  4.   


    public static void removeArrayDemo() {
    int a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    int b[] = { 3, 5, 1 };
    List<Integer> aList = new ArrayList<Integer>();
    List<Integer> bList = new ArrayList<Integer>();
    for (int i : a) {
    aList.add(i);
    }
    for (int i : b) {
    bList.add(i);
    }
    aList.removeAll(bList);
    System.out.println(aList);
    }转成集合类利用集合类的操作就行
      

  5.   

    public class Demo {
        public static void main(String args[]){
            firstRemove() ;
            secondRemove() ;
        }
     public static void secondRemove(){
            List<Object> list = new ArrayList<Object>() ;
            int a[] = {0,1,2,3,4,5,6,7,8,9} ;
            int b[] = {2,4,6} ;
           
            int index = 0 ;
            for(int i:a){
                list.add(i) ;
            }
            System.out.println(list) ;
            for(int i=0;i<b.length;i++){
                index = b[i] ;
                list.remove(index) ;  //移除的是索引位置,而不是值
                int c[] = new int[list.size()] ;
                for(int j=0;j<list.size();j++){
                    c[j] = ((Integer)list.get(j)).intValue() ;
                }
                System.out.println(Arrays.toString(c)) ;
            }
        }
    }
      

  6.   

    firstRemove呢?怎么看不见?而且这个利用了第一个数组的特殊性,如果第一个数组不是那样,就不通用了……
      

  7.   


    import java.util.ArrayList;public class CsdnTest {

    public static void main(String[] args)
    {
    int a[] = {0,1,2,3,4,5,6,7,8,9} ;
    int b[] = {3,5,1} ;
    ArrayList<Integer> list = new ArrayList<Integer>();

    for(int i : a)
    {
    list.add(i);
    }
    for(int j : b)
    {
    list.remove(j);
    }
    int c[] = new int[list.size()];
    for(int k = 0;k<list.size();k++)
    {
    c[k] = list.get(k);
    System.out.println(c[k]);
    }
    }}c[k]是最终得到的数组