This is a partial implementation of class TheList in Java. TheList object is a s
ID: 3710781 • Letter: T
Question
This is a partial implementation of class TheList in Java. TheList object is a singly-linked list. Where the first node is referenced by the var head, and the last node is referenced by the var tail.
-------------------------------------------------------------
class ListNode<E>{
public ListNode(E data, ListNode<E> next){
this.data = data;
this.next = next;
}
public E data;
public ListNode<E> next;
}
class TheList<E> implements List<E>{
...
private ListNode<E> head, tail;
}
-------------------------------------------------------------
Implement this function in Java in the class TheList:
hashCode(): this function returns the hash code of the list. Let size be n, and hashCode(ei) be the hash code of the ith element (i = 0, 1, ... , n-1).
Then the hash code of this list is ?ni ( i +1) X hashCode(ei). It is assumed that the element type E provides a function called hashCode.
Explanation / Answer
import java.util.HashMap;
public class MyHashcodeImpl {
public static void main(String a[]){
HashMap<Price, String> hm = new HashMap<Price, String>();
hm.put(new Price("Banana", 20), "Banana");
hm.put(new Price("Apple", 40), "Apple");
hm.put(new Price("Orange", 30), "Orange");
Price key = new Price("Banana", 20);
System.out.println("Hashcode of the key: "+key.hashCode());
System.out.println("Value from map: "+hm.get(key));
}
}
class Price{
private String item;
private int price;
public Price(String itm, int pr){
this.item = itm;
this.price = pr;
}
public int hashCode(){
System.out.println("In hashcode");
int hashcode = 0;
hashcode = price*20;
hashcode += item.hashCode();
return hashcode;
}
public boolean equals(Object obj){
System.out.println("In equals");
if (obj instanceof Price) {
Price pp = (Price) obj;
return (pp.item.equals(this.item) && pp.price == this.price);
} else {
return false;
}
}
public String getItem() {
return item;
}
public void setItem(String item) {
this.item = item;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String toString(){
return "item: "+item+" price: "+price;
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.