在LinkedList中添加一个点而不覆盖另一个点- Java



我想在LinkedList ar的索引1处插入值(10,10)。我想让值(1,1)移动到节点上为(10,10)腾出空间。最快的方法是什么?我可以使用不同的数据结构来获得更好的结果吗?

    LinkedList<Point> ar = new LinkedList<Point>();
    ar.add(new Point(0,0));
    ar.add(new Point(1,1));
    ar.add(new Point(2,2));
    ar.set(1,new Point(10,10));
    for (int i=0;i<3; i++){
    System.out.println(ar.get(i));
    }

set(...)方法替换项。您应该使用add(int index, Object o)重载方法在特定索引处插入项,而不是替换项。

对于LinkedList使用此方法的代价取决于您需要迭代到达目标目的地的距离。使用ArrayList,价格可能会创建更大的后备数组,并将索引中的所有元素移到目标之后。(始终检查相应的List实现)

相关内容

  • 没有找到相关文章

最新更新