How I display the content of my hash table in java

16,200

Solution 1

Sorry answered this too quickly when I got to work. I thought you were using a HashMap. Well in case you want to learn how to iterate a hash map.. here you go

Well, one way is to iterate through your map and print out the values

for (Map.Entry<String, String> entry : yourMap.entrySet()) {
    String key = entry.getKey();
    String value = entry.getValue();

    System.out.println ("Key: " + key + " Value: " + value);
}

Solution 2

Can you just use it's toString representation? From the Oracle docs of HashTable:

String toString()

Returns a string representation of this Hashtable object in the form of a set of entries, enclosed in braces and separated by the ASCII characters ", " (comma and space).

Share:
16,200
user2976636
Author by

user2976636

Updated on June 04, 2022

Comments

  • user2976636
    user2976636 almost 2 years

    I implemented a hash table and I want to display the contents, but I do not know how to do this.

    Here is my driver class:

    package myHashTable;
    
    import java.util.InputMismatchException;
    import java.util.Scanner;
    
    public class MyHashDrivergood{
    
    private static String fileName  = "";
    private static int choice   =   0;
    private int initialCapacity =   0;
    private static String[] testData = null;
    
    public static void main(String[] args){
    
        Scanner keyboard = new Scanner(System.in);
    
        MyHashTableTable<String, String> dataTested = new MyHashTableTable<String,String>
                                                ()>;
    
    while( choice != 999 ){
    
      try {
        System.out.println("Please enter your choice to use the HashTable: (999:
                                   End of program) ");
        System.out.println("Read the files, store data in an array,  and display
                                   the content: 1 ");
        System.out.println("Read the files and store the data in the HashTable, and 
                                   dislay the content of the hashtable: 2");
    
        choice = keyboard.nextInt();
        keyboard.nextLine();
       } catch (InputMismatchException e) {
        System.out.println("Please enter only numbers!");
        keyboard.nextLine();
        continue;
       }
    
        switch(choice){
    
        case 1:
            System.out.print( "Please enter the file name to test:" );
            fileName = keyboard.next();
    
            testData = new String[MyHashTablegood.getFileSize( fileName )];
            testData = MyHashTablegood.getData( fileName,   
                                    MyHashTablegood.getFileSize( fileName ));
    
            for( int j = 0;j < testData.length; j++ ){
                System.out.println( j + "  " + testData[j] );
            }
    
            break;
    
            case 2:
            System.out.print( "Please enter the file name to test:" );
            fileName = keyboard.next();
    
                    //here I read the data from a file
    
            testData = new String[MyHashTablegood.getFileSize( fileName )];
            testData = MyHashTablegood.getData( fileName,  
                                MyHashTablegood.getFileSize( fileName ));
    
                        //now I am storing the data in my hash table
            for(int k =0; k < testData.length; k++){
                String data = testData[k];
    
                dataTested.put(data, data);
    
            }
    
            break;
    
            }
        }
    
        keyboard.close();
    
        System.out.println("The program has ended.");
    
    }
    }
    

    It is the first time that I work with hash tables and I am not sure of what I am doing.

  • user2976636
    user2976636 over 10 years
    Thanks for the hash map hint. I am really stuck with the hash table problem.