Sorting linked list with comparator in Java
If you're using Java Collections in any Java version later than 5, you should be using generic typing.  It's an easy way to provide type safety without dealing with casting, multiple class-specific implementations of collections, or the other hassles that have long since been forgotten.  And with the latest Java versions, you don't even need to specify the generic type of the assigned object due to type inheritance, so adding generics support is as simple as:

LinkedList&lt;String&gt; lList = new LinkedList&lt;&gt;();


and:

private static &lt;E&gt; ListIterator&lt;E&gt; midpointIterator(LinkedList&lt;E&gt; lList) {
    return lList.listIterator( lList.size() / 2 );
}


Which brings me to another point: use descriptive method and object names!  Looking at the name of the getIterator method made me wonder why the objects weren't being inserted at the beginning when I ran the code.  midpointIterator (or something similar) lets me know that the ListIterator I'm getting back starts at the midpoint.

Likewise with the comparator:

class StringLengthComparator implements Comparator&lt;String&gt;{
    public int compare(String s1, String s2) {
        return s1.length() - s2.length();
    }
}


Now I know that it compares the length of the Strings passed to it.

On the topic of Strings: are you sure you want to use them?  Because it looks like you're trying to sort a list of numbers, in which case you should use a LinkedList&lt;Integer&gt; and a Comparator&lt;Integer&gt;, although Collections.sort(List)'s default comparator will do the job fine.  Right now you're calling Collections.sort(List), which sorts in character order, and Collections.sort(List, Comparator) using your String length comparator, which sorts by length.  This puts them in numerical order:

LinkedList before sort:     [75, 2, 0, 1, 10, 25, 60, 40, 70, 2, 3, 4, 5, 6, 10, 15]
LinkedList default sort:    [0, 1, 10, 10, 15, 2, 2, 25, 3, 4, 40, 5, 6, 60, 70, 75]
LinkedList comparator sort: [0, 1, 2, 2, 3, 4, 5, 6, 10, 10, 15, 25, 40, 60, 70, 75]


I think what you're really looking to do is something like this:

import java.util.Collections;
import java.util.LinkedList;
import java.util.ListIterator;

public class LinkedListSort {
    public static void main(String[] args) {
        LinkedList&lt;Integer&gt; linkedList = new LinkedList&lt;&gt;();
        linkedList.add(1);
        linkedList.add(2);
        linkedList.add(3);
        linkedList.add(4);
        linkedList.add(5);
        linkedList.addFirst(0);
        linkedList.add(6);
        linkedList.addFirst(2);
        linkedList.add(3, 10);
        linkedList.add(4,25);
        midpointIterator( linkedList ).add( 60 );
        linkedList.add(10);
        linkedList.add(15);
        linkedList.add(6,40);
        midpointIterator( linkedList ).add(70);
        linkedList.addFirst(75);

        System.out.println("LinkedList before sort:  " + linkedList);
        Collections.sort(linkedList);
        System.out.println("LinkedList default sort: " + linkedList);
    }

    private static &lt;E&gt; ListIterator&lt;E&gt; midpointIterator(LinkedList&lt;E&gt; lList) {
        return lList.listIterator( lList.size() / 2 );
    }
}