Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Complete the implementation of the methods in the SimpleBoundedList class. V rem

ID: 3827225 • Letter: C

Question

Complete the implementation of the methods in the SimpleBoundedList class.

V remove(K key), V remove(int n), V lookup(K key), V remove(), size(), V get(int n), and Object[] toArray()

SimpleBoundedList.java

public class SimpleBoundedList implements List {

   private class Entry {

   protected K key;
   protected V value;

   public Entry(K key, V value) {
   this.key = key;
   this.value = value;
   }
   }
  
   protected Object[] values;

   private int start = 0;
   private int nextEmpty = 0;

   /**
   *
   */
   @SuppressWarnings("unchecked")
   public SimpleBoundedList(int bound) {
   values = new Object[bound];
   }

   @Override
   public boolean add(K key, V value) {
   boolean modify = false;
   int nextIndex = nextEmpty;

   if (((nextEmpty + 1) % values.length) != start) {
   nextEmpty = (nextEmpty + 1) % values.length;
   modify = true;
   } else if (values[nextEmpty] == null) {
   modify = true;
   }

   if (modify)
   values[nextIndex] = new Entry(key, value);

   return modify;
   }

   @Override
   public V remove(K key) {
   // TODO Auto-generated method stub
   return null;
   }

   @Override
   public V lookup(K key) {
   return null;
   }

   @Override
   public V remove(int n) {
   // TODO Auto-generated method stub
   return null;
   }

   @Override
   public int size() {
   return 0;
   }

   @Override
   public V get(int n) {
   return null;
   }

   @Override
   public V remove() {
   // TODO Auto-generated method stub
   return null;
   }

   @Override
   public Object[] toArray() {
   // TODO Auto-generated method stub
   return null;
}


   @Override
   public String toString() {
   StringBuilder sb = new StringBuilder();

   for(Object en: values) {
   Entry entry = (Entry) en;
   sb.append(" Name : " + entry.key
   + " ID : " + entry.value);
   }
   return sb.toString();
   }
   }

List.java

public interface List {
   //abstract methods

public abstract boolean add(K key,V value);

public abstract V remove(K key);

public abstract V remove(int n);

public abstract V remove();

public abstract V lookup(K key);

public abstract int size();

public abstract V get(int n);

public abstract Object[] toArray();

public abstract String toString();

}

Explanation / Answer

------------------------------------Implementation of the methods in the SimpleBoundedList class----------------------------------

package chegg.com;

import java.util.HashMap;
import java.util.Map;

public class SimpleBoundedList implements MyList {

   HashMap<Object, Object> myMap;

   public static void main(String[] args) { //Main Method you can perform all operation form here
       // TODO Auto-generated method stub

       SimpleBoundedList s = new SimpleBoundedList();


   }
  
   @Override
   public boolean add(Object key, Object value) {
       // TODO Auto-generated method stub
       myMap.put(key, value);
       return true;
   }


   @Override
   public Object remove(Object key) {
       // TODO Auto-generated method stub
       if(myMap.containsKey(key) == true){
           myMap.remove(key);
           return true;
       }
       return false;
   }


   @Override
   public Object remove(int n) {
       // TODO Auto-generated method stub
       Object value = n;
       Object key = null;
       for(Map.Entry entry: myMap.entrySet()){
           if(value.equals(entry.getValue())){
               key = entry.getKey();
               myMap.remove(key);
               return true; //breaking because its one to one map
           }
       }

       return false;
   }
   @Override
   public Object remove() {
       // TODO Auto-generated method stub
       if(myMap.isEmpty() != true){
           myMap.clear();
           return true;
       }

       return false;
   }
   @Override
   public Object lookup(Object key) {
       // TODO Auto-generated method stub
       if(myMap.containsKey(key)== true){

           return true;
       }
       return false;
   }
   @Override
   public int size() {
       // TODO Auto-generated method stub
       int size;

       size = myMap.size();

       return size;
   }
   @Override
   public Object get(int n) {
       // TODO Auto-generated method stub
       if(myMap.containsValue(n)== true){

           return true;
       }
       return false;
   }
   @Override
   public Object[] toArray() {
       // TODO Auto-generated method stub
       Object arrObject[] = myMap.values().toArray();

       return arrObject;
   }

   public String toString(){

       StringBuilder sb = new StringBuilder();

       for(Object en: myMap.entrySet()) {
           Entry entry = (Entry) en;
           sb.append(" Name : " + entry.key
                   + " ID : " + entry.value);
       }
       return sb.toString();

   }
   private class Entry {
       protected Object key;
       protected Object value;
       public Entry(Object key, Object value) {
           this.key = key;
           this.value = value;
       }
   }

}

interface MyList{

   public abstract boolean add(Object key,Object value);
   public abstract Object remove(Object key);
   public abstract Object remove(int n);
   public abstract Object remove();
   public abstract Object lookup(Object key);
   public abstract int size();
   public abstract Object get(int n);
   public abstract Object[] toArray();
   public abstract String toString();  


}