Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.07 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.util.Objects;
  4.  
  5. public class Anchor {
  6.     private Element first = null;
  7.  
  8.     public Anchor() { }
  9.  
  10.     public void insertAtTheFront(final int x) {
  11.         final Element newElement = new Element(x);
  12.         if(first != null)
  13.             newElement.setNextElement(first);
  14.  
  15.         first = newElement;
  16.     }
  17.  
  18.     public void insertAtTheEnd(final int x) {
  19.         final Element newElement = new Element(x);
  20.         if(first == null) {
  21.             first = newElement;
  22.         }
  23.         else {
  24.             Element element = first;
  25.             //set 'element' to last element in list
  26.             while(element.getNextElement() != null)
  27.                 element = element.getNextElement();
  28.  
  29.             element.setNextElement(newElement);
  30.         }
  31.     }
  32.  
  33.     public void removeFirst() {
  34.         if(first != null){
  35.             first = first.getNextElement();
  36.         }
  37.     }
  38.  
  39.     public void removeLast() {
  40.         if(first != null) {
  41.  
  42.             Element preLastElement = first;
  43.             //Set 'preLastElement' to point to 1 element before last one
  44.             for(Element element = first; element.getNextElement() != null; element = element.getNextElement()){
  45.                 if(element.getNextElement().getNextElement() == null){
  46.                     preLastElement = element;
  47.                     break;
  48.                 }
  49.             }
  50.  
  51.             preLastElement.setNextElement(null);
  52.         }
  53.     }
  54.  
  55.     @Override
  56.     public String toString() {
  57.         String str = "List [";
  58.  
  59.         if(first != null) {
  60.             Element element = first;
  61.             do {
  62.                 str += element.getValue() + " ";
  63.  
  64.                 element = element.getNextElement();
  65.             } while (element != null);
  66.         }
  67.  
  68.         return str + "]";
  69.     }
  70.  
  71.     @Override
  72.     public boolean equals(Object o) {
  73.         if (o == null || getClass() != o.getClass())
  74.             return false;
  75.  
  76.         final Anchor otherAnchor = (Anchor) o;
  77.         Element otherAnchorElement = otherAnchor.first;
  78.         Element thisElement = first;
  79.         do {
  80.             if(thisElement == null || otherAnchorElement == null)
  81.                 return thisElement == otherAnchorElement;
  82.  
  83.             if(thisElement.getValue() != otherAnchorElement.getValue())
  84.                 return false;
  85.  
  86.             thisElement = thisElement.getNextElement();
  87.             otherAnchorElement = otherAnchorElement.getNextElement();
  88.         } while(otherAnchorElement != null && thisElement != null);
  89.  
  90.         return true;
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement