Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import apcslib.*;
- public class HashTable {
- private LinkedList[] hashTable;
- private ListIterator<Comparable> iter;
- public HashTable(){
- hashTable = new LinkedList[600];
- }
- public void insert(Comparable element){
- if(element.hashCode() >= 0){
- if(hashTable[element.hashCode()] == null){
- hashTable[element.hashCode()] = new LinkedList();
- hashTable[element.hashCode()].add(element);
- }
- hashTable[element.hashCode()].add(element);
- }
- }
- public Object find(Comparable element){
- Comparable temp;
- if(hashTable[element.hashCode()] != null){
- iter = hashTable[element.hashCode()].listIterator();
- while(iter.hasNext()){
- temp = iter.next();
- if(element.compareTo(temp) == 0)
- return temp;
- }
- }
- return null;
- }
- public int average(){
- int avg = 0;
- int n = 0;
- for (int a = 0; a < hashTable.length; a++){
- if(hashTable[a] != null)
- {
- avg += hashTable[a].size();
- n++;
- }
- }
- return (avg/n);
- }
- public int longest(){
- int max = 0;
- for (int a = 0; a < hashTable.length; a++){
- if(hashTable[a] != null && hashTable[a].size() > max)
- max = hashTable[a].size();
- }
- return max;
- }
- public double pointers(){
- int count = 0;
- for(int a = 0; a < hashTable.length; a++){
- if (hashTable[a] == null)
- count++;
- }
- return ((double)count/hashTable.length) * 100;
- }
- public void stats(){
- System.out.println("The % of null pointers in the hash table " + Format.left(pointers(), 2, 2) +"%");
- System.out.println("The average length of linked lists " + average());
- System.out.println("The longest linked list in the hash table " + longest());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment