-

   rss_rss_hh_new

 - e-mail

 

 -

 LiveInternet.ru:
: 17.03.2011
:
:
: 51

:


[ ] LinkedList?

, 09 2017 . 20:33 +
AsteriskIT 20:33

LinkedList?

, !

ArrayList, . , , . . ArrayList, tarzan82.

LinkedList, Java 7, , , tarzan82 . , .

, LinkedList , List Deque. ( null) . , , (). , . , .

, , .

1.


LinkedList numbers = new LinkedList<>();

LinkedList numbers. (Integer). .

LinkedList :

//  transient   ,     
//  
transient int size = 0;
transient Node first;
transient Node last;



2.


numbers.add(8);

8 . , Integer, , Integer item , .

LinkedList Node:

private static class Node {
    E item;
    Node next;
    Node prev;

    Node(Node prev, E element, Node next) {
        this.item = element;
        this.next = next;
        this.prev = prev;
    }
}

, (size, first, last).

, , .. null, 1, .

:

numbers.add(5);

( 5) ( 8) , null. last:

. 4, ( 0) null . ( 1), :

3.


numbers.add(1, 13);

LinkedList . add(index, element), index , element.

add(element), . index, , . index , IndexOutOfBoundsException.

, index , , . 2, .

index size , , , .. 5.

node(index) , , . for ( , ). ( 13), , 8, , 5. :

: , , ( 13), ( 5). :

4.


LinkedList 10 , , , , :

. 5 :

numbers.remove(Integer.valueOf(5));

, remove(object) , 5
numbers.remove(5);

IndexOutOfBoundsException, .. 5 remove(index).

, remove(object)? , , . , , . , :

, , :

, . , , . , , , unlink(node), remove(object), . remove(index), unlink(node), unlink(node), remove(index). , , , : poll(), pollFirst(), remove() removeFirst() unlinkFirst(node), pollLast() removeLast() unlinkLast(node).

, LinkedList, , :

  • ;
  • , null ;
  • O(1) , ( );
  • O(n) .


LinkedList (JDK 8)
LinkedList
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/337558/

:  

: [1] []
 

:
: 

: ( )

:

  URL