Java Collection How to - Insert into Sorted LinkedList








Question

We would like to know how to insert into Sorted LinkedList.

Answer

import java.util.LinkedList;
/*from  w  ww  .  ja v a 2s . c om*/
public class Main {
  public static void main(String[] args) {
    MyLinkedList llist = new MyLinkedList();

    llist.addValue(6);
    llist.addValue(3);
    llist.addValue(1);
    llist.addValue(-5);
    llist.addValue(10);
    llist.addValue(5);
    llist.addValue(6);
    llist.addValue(9);
    llist.addValue(11);
    llist.addValue(0);
    llist.addValue(10);
    llist.addValue(-1);
    System.out.println("Linked List is: " + llist);

  }

}

class MyLinkedList {
  private LinkedList<Integer> llist = new LinkedList<Integer>();

  public void addValue(int val) {

    if (llist.size() == 0) {
      llist.add(val);
    } else if (llist.get(0) > val) {
      llist.add(0, val);
    } else if (llist.get(llist.size() - 1) < val) {
      llist.add(llist.size(), val);
    } else {
      int i = 0;
      while (llist.get(i) < val) {
        i++;
      }
      llist.add(i, val);
    }

  }

  @Override
  public String toString() {
    return "MyLinkedList [llist=" + llist + "]";
  }

}

The code above generates the following result.