qq_30840321
是你飘了
2016-01-12 09:24
采纳率: 28.6%
浏览 1.3k
已采纳

大家帮我看看为什么可以移除?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • caozhy
    已采纳

    注意java中的对象引用。remove判断的是引用,只要是引用的同一个对象,就删除。

    点赞 评论
  • caozhy
     /* package whatever; // don't place package name! */
    
    import java.util.*;
    import java.lang.*;
    import java.io.*;
    
    class A{
        int i;
        int color;
    }
    
    /* Name of the class has to be "Main" only if the class is public. */
    class Ideone
    {
        public static void main (String[] args) throws java.lang.Exception
        {
            Vector<A> v1=new Vector<A>();
            A a=new A();
            a.i=12; a.color=23;     
            v1.add(a);      
            A b=v1.get(0);
            System.out.println(v1.size());
            v1.remove(b);
            System.out.println(v1.size());
        }
    }
    
    点赞 评论
  • caozhy

    你的代码有问题,先修正了。按照我这个。

    那么b只想的就是a对象,所以你可以remove(b)相当于remove(a)
    结果是
    1
    0

    点赞 评论

相关推荐