In one of my classes, I have something like this:
public Foo(int id, String client, String contents) {
this.id = id;
this.client = client;
this.contents = contents;
}
public String toString() {
return id + contents + client;
}
I use the id number as a key in the Java API HashTable and I use the object Foo as a value. In my next class, I want to print all my keys and the values, so I try
Hashtable<Integer, Object> hashtable = new Hashtable<>();
Enumeration<Integer> keys = hashtable.keys();
Collection<Object> values = hashtable.values();
while(keys.hasMoreElements() ){
System.out.printf("%-5d%-5s", keys.nextElement(), values.toString());
}
Now, that doesn't quite do what I want it to do. I want my values to be evenly spaced like this:
ID #1 ID #1 client #1 content #1
ID #2 ID #2 client #2 content #2
ID #3 ID #3 client #3 content #3
I can't fix it in my toString class because the values won't be evenly spaced there and also because I am using that specific representation of Foo somewhere else in my program.