Index operations are very inefficient for LinkedList , so it is better to use ListIterator . When you find the item you are looking for, it allows you to move in any direction (which is the main advantage of ListIterator over Iterator ).
String search = ...; LinkedList<String> list = ...; for( ListIterator<String> listIter = list.listIterator( ); listIter.hasNext(); listIter.next( ) ) { String item = listIter.next( ); if ( item.equals( search ) ) { if (listIter.hasPrevious()) { listIter.previous( ); listIter.remove( ); listIter.next( ); } if (listIter.hasNext()) { listIter.next( ); listIter.remove( ); } break; } }
source share