日期:2014-05-20  浏览次数:20640 次

List 复制速度
Java code

public class Text{
       private List<Interater> queue;
       public Text(List<Interator> queue){
                 this.queue = queue
       }
       public getQueue(){
                 List<Interater> tmp = new ArrayList<Interator>(queue);
                 tmp.remove(0); // 要求是不能改变之前的List,并返回一个同样的list(除了要去掉第一个元素)
                 return new Text(tmp);
       }
}



现在的问题是要找一个比上面的方法更快的方法

------解决方案--------------------
当然,如果你要那么做也是可以的,你自己写一个ArrayList覆盖他的构造函数就可以了。
------解决方案--------------------
那你就直接从list.get(1)开始拿不就接了,也不用改变list

------解决方案--------------------
探讨
我现在想到的方法是new ArrayList<Interator>(queue) 重写ArrayList的构造函数,让他直接复制之后的(n - 1)个元素,这样就不用两次new运算了