File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes User-defined objects in collections Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "User-defined objects in collections" Watch "User-defined objects in collections" New topic

User-defined objects in collections

Sharda Vajjhala
Ranch Hand

Joined: Nov 14, 2001
Posts: 57
I have a program as follows:

This prints out as follows:
Mailing list is:
Why does it not print out the address contained within the element? It prints out the actual elements, if I use simple objects such as Strings
such as the following example:

Output of this is as follows:
I would have expected the 1st MailingList program to print out the actual addresses(although not formatted properly).
Can anyone please explain?
Sharda[ edited to preserve formatting using the [code] and [/code] UBB tags -ds ]
[ July 30, 2002: Message edited by: Dirk Schreckmann ]
Snigdha Solanki
Ranch Hand

Joined: Sep 07, 2000
Posts: 128
That's because your address class does not override toString() method of Object Class.The toString method for Object class returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object.
For example - Address@f56cf041

Snigdha<br />Sun Certified Programmer for the Java™ 2 Platform
Stu Glassman
Ranch Hand

Joined: Jul 01, 2002
Posts: 91
When you output a class, the program actually calls MyClass.toString(). The Object class defines toString as returning ClassName@hashcode. In order to output the Address correctly add the following method:

Feel free to change the code to produce whatever formatting you'd like.
venkatesh Nayak

Joined: Nov 19, 2013
Posts: 1
use like this

use getter and setter for accessing the private data member of a class.

then use foreach loop to display
for(Address adr:m1)
Campbell Ritchie

Joined: Oct 13, 2005
Posts: 46320
Welcome to the Ranch

You realise this is an 11‑year old thread? That technique would work well, however.
You should always use the code button. I thought of editing your post with the code button because the code looks much better, but you hadn't indented the code. We have some suggestions about indenting here. If you are quick, you can use the button to indent your code and add code tags for yourself.
I agree. Here's the link:
subject: User-defined objects in collections
It's not a secret anymore!