2012-01-26 2 views

답변

1

삽입 요소를 감사하는 것은 본질적으로 비효율적이다. 색인에 삽입해야하는 경우 LinkedList 대신 ArrayList 또는 다른 것을 사용하십시오.

http://www.java-examples.com/iterate-through-elements-java-linkedlist-using-listiterator-example

을 아니면 그냥 자바 API를 참조 더 많은 정보

myLL.add(i,val) 

일을 고려해 볼 수 있습니다 : 당신이 ListIterators 사용에 대한 정보를 필요로하는 경우

그러나, 이쪽을 봐주세요.

http://docs.oracle.com/javase/6/docs/api/java/util/LinkedList.html

+1

, ArrayList를하고 LinkedList의 모두가이 작업에 관해서 자신의 비 효율성을 가지고있다. 탐색은 LinkedList의 경우 O (n)이지만 ArrayList의 경우 O (n)가 삽입됩니다. – jtahlborn

+0

주목할 점. 나는 OP에 대해 물었던 이후로 삽입에 대해서만 대답했다. – varatis

+1

ListIterator를 사용할 때 LinkedList에 요소를 삽입하는 것은 비효율적이지 않습니다. 실제로 O (1)이어야합니다. –

1

이런 식으로 뭔가? (이것은 자바에서 브루스 에켈 (Bruce Eckel)의 생각에서 excersize이다?)) effeciency에 대한 질문은 어쨌든 열려 ... 실제로

public class Excersize14 { 
    public static void main(String[] args) { 
     LinkedList<Integer> list = new LinkedList<Integer>() ; 

      getIterator(list).add(10); 
      getIterator(list).add(20); 
      getIterator(list).add(30); 
      getIterator(list).add(40); 
      getIterator(list).add(50); 
      getIterator(list).add(60); 

      System.out.println(list); 
    } 

    private static ListIterator<Integer> getIterator(LinkedList<Integer> list) { 
      return list.listIterator(list.size()/2); 
    } 
} 
관련 문제