Originally the need for HPPC was motivated by the fact that fastutil
was LGPL licensed and this was a no-no license from many commercial
customers that we have at Carrot Search (the discussion of whether
they are right or wrong is beyond the scope here).
There are still some design differences -- HPPC has public access to
internal buffers and fields so you can fiddle and hack around with
internals at runtime without the need for copying (which is a good or
bad feature, depending on what you need). We also use assertions only
for checks so things may go out of bounds (fastutil has fixed tests).
Finally, we don't strive to make HPPC compatible with Java collections
interfaces.
Fastutil is a great library, we like it very much. It is also as fast
as HPPC these days (because we use nearly identical code and actively
exchange ideas). I would try both and see which fits your taste better
:)
Dawid