[A review of the THIRD EDITION 2005]
The book teaches two things. Algorithms that are very useful in computing. And how these can be coded in Java.
The explanation of the algorithms requires a reasonable amount of mathematical sophistication on your part. They all relate to discrete maths, and cover topics like sorting, random number generation and graphs. The complexity of the discussion is less than that in Knuth's "Art of Computer Programming". Perhaps more akin to Sedgewick or Aho's algorithms texts. There is a fair amount of abstraction that you'll have to deal with.
The other task in the book is explaining how Java is well suited in which to code these algorithms. Weiss also makes good use of the Java interface ability. If you think of an algorithm as being implemented in a subroutine [ie. a procedural approach], then the book uses interfaces to let you design a program at a higher level, and making it quite modular and independent of specific implementations of given algorithms.
The book does deal with Java 5. But perhaps the most important aspect of Java used in the book is the interface. So the book is quite germane even if you are using an earlier Java.
But what if you program in another language? Is the book relevant? Quite possibly. Firstly, some other languages, like C#, have interfaces. More importantly, if you regard the algorithms as the most important aspect of the book, and you are a skilled programmer, then coding is the easier aspect.
A remark to a lecturer: If you are teaching a course and are contemplating this book as its text, be careful. Try to ensure that the expected background of your class is compatible with the book. For example, if they will be experienced Java programmers, but have little maths knowledge (and this combination is certainly possible), then the book may not be very useful to them.