Trying to add string objects into a linked list in alphabetical order by using compareTo but I am stuck on inserting elements in the middle. Java -


public void addelement(object element) {     if(first == null) //empty list      {         addfirst(element);     }     else      {         //having these move         boolean cloud = true;         linkedlistiterator hamsters = new linkedlistiterator();         while (hamsters.hasnext() && cloud) //while there elements in list.         {             //getting strings compare             string str = (string) element; //string entered             system.out.println(str +" string entered");             string str2 = (string) hamsters.next();             system.out.println(str2 +" string inside list");              //if string entered greater second string, insert new node.              if(str.compareto(str2) > 0 || str.compareto(str2) == 0)             {                 hamsters.add(element);                 cloud = false;             }         }     } 

the problem code compares first element (and inserts element after first element) in linked list. if enter "apple, banana, cat", print "apple, cat, banana," when need print, "apple, banana, cat."

any suggestions?

edit: here's iterator --> https://gist.github.com/bettyjing/84ee94b73713226ba8ad

you should not inserting new node right after first element in list less new one. should inserting before first element in list greater new 1 (or @ end if none in list greater).

try this:

while (hamsters.hasnext() && cloud) //while there elements in list. {     //getting strings compare     string str = (string) element; //string entered     system.out.println(str +" string entered");     string str2 = (string) hamsters.next();     system.out.println(str2 +" string inside list");      //if string entered less second string, insert new node before it.      if(str.compareto(str2) < 0 || str.compareto(str2) == 0)     {         hamsters.previous();         hamsters.add(element);         cloud = false;     } } if (cloud)  {     hamster.add(element); } 

Popular posts from this blog