I realize I am asking a broad question, but I would like to explore the implications of my choices, and before I organize the program data structure, understand things like

how do I add elements
How do I sort, alphabetize, and search the data structures
if I put each " structure" in its own class, do I end up writing more code to do low level functions like sort and search?

This is not a school assignment, this is a hobby writer trying to get started.

Re: Learning how to use data structures

Whole books have been filled discussing this very subject, there is no "tutorial" that is going to make you understand this complicated and highly theoretical subject. Heck, it took two years of schooling for me.

To get you feet wet, try researching into linked lists, binary searching and bubble sort; google and wikipedia are your friends. Those subjects is what I started out with in school too.

Re: Learning how to use data structures

Am I correct in concluding that in order to do what I want,I would need to create a class with the data values outside all other methods? Would I derive from an existing Java class or create something stand alone?

You may also include methods to manipulate the fields. You can then add one or more instances to a linked list or array. If you want to do sorting, you can either implement your own sort routines or implement specific interfaces that allow other utility classes to sort for you. It all depends on what exactly you want to do.