Collections Data Structure Java

class Link {
  public int key;
  public double data; 
  public Link next;
  public Link(int id, double dd) {
    key = id;
    data = dd;
  }
  public void displayLink() {
    System.out.print("{" + key + ", " + data + "} ");
  }
}
public class AnotherLinkList {
  private Link first;
  public AnotherLinkList() {
    first = null;
  }
  public void insertFirst(int id, double dd) {
    Link newLink = new Link(id, dd);
    newLink.next = first;
    first = newLink; 
  }
  public Link find(int key) 
  {
    Link current = first; 
    while (current.key != key)
    {
      if (current.next == null)
        return null; // didn't find it
      else
        // not end of list,
        current = current.next; // go to next link
    }
    return current; // found it
  }
  //   delete link with given key
  public Link delete(int key) {
    Link current = first;
    Link previous = first;
    while (current.key != key) {
      if (current.next == null)
        return null; // didn't find it
      else {
        previous = current; // go to next link
        current = current.next;
      }
    } // found it
    if (current == first) // if first link,
      first = first.next; //    change first
    else
      // otherwise,
      previous.next = current.next; //    bypass it
    return current;
  }
  public void displayList() {
    System.out.print("List (first to last): ");
    Link current = first; 
    while (current != null) 
    {
      current.displayLink(); 
      current = current.next;
    }
    System.out.println("");
  }
  public static void main(String[] args) {
    AnotherLinkList theList = new AnotherLinkList();
    theList.insertFirst(12, 2.59);
    theList.insertFirst(24, 4.69);
    theList.insertFirst(36, 6.79);
    theList.insertFirst(48, 8.89);
    theList.displayList();
    Link f = theList.find(44);
    if (f != null)
      System.out.println("Found link with key " + f.key);
    else
      System.out.println("Can't find link");
    Link d = theList.delete(66); 
    if (d != null)
      System.out.println("Deleted link with key " + d.key);
    else
      System.out.println("Can't delete link");
    theList.displayList();
  }
}