有一个ArrayList,存放的是Point对象,想将i+1位置的对象用i位置的对象的值取代,如何实现?谢谢

解决方案 »

  1.   

    你的意思是要让i+1位置的point对象是i位置的point对象的copy是吗?如果是这样在Point对象里覆盖下clone()方法就可以了,不过是浅复制
    如果要达到深复制有两种方法,一种是在Point类层次下所有的对象成员都覆盖clone()方法,并在上一层的clone()方法中做处理(如果没明白可以查下网上深复制的操作,本人表达能力有限)还有一种深复制方法就是 先将对象序列化,再将它反序列化出来,肯定是深复制!
      

  2.   

    i是从1到ArrayList1.length()吗?是的话:新建一个ArrayList2用addAll(2,ArrayList1)方法将原ArrayList1的元素拷到ArrayList2中然后用ArrayList2覆盖ArrayList1即可实现所有元素后移一位。不是的话:那就直接用add(Int,E)方法即可实现。
      

  3.   

    ArrayList的
    add(int index, E element) 和
    remove(int index)
    这两个方法合起来用应该可以实现
      

  4.   

    恩,意思是这样的。
    这样解决应该可以吧:先将ArrayList的最后一个remove掉,然后在最前面加上一个新的Point