An excellent, free resource for learning about the FFT is the following eBook:
Scientist and Engineer's Guide to Digital Signal ProcessingIt starts with the basics, and also contains excellent info about various filtering methods.
The code examples are in BASIC, so you would have to get your Java implementation elsewhere, or build on from the BASIC examples. Perhaps someone at JGO (@nsigma?, @Catharsis?, @ShannonSmith?, others?) has a recommendation or code to share?
It you have difficulties with any part of the text, I've found that a good place to ask questions is the
Signal Processing section of Stack Overflow.
[When asked earlier in a PM, I recommended the OP make a public post, so anyone else that has a similar question could use the answers provided as a reference. We are also requesting this thread be moved to the Java Sound section, if that is not too much trouble.]