Googling "java <name of data structure>" and maybe even "site:github.com" seems to do well...
Another term sometimes used is "spatial index"
What specifically do you need?
That only yielded shady results (might be buggy), or huge libraries that're made for other purposes than being fast and practical (I'm thinking of http://sis.apache.org/
I need to query nearest neighbor, bounds intersection and fast updating when elements are moved. These would be what is needed for any tower-defence game.JSI
seems great, but it is difficult to move entities around. It requires deletion and reinsertion, and deletion requires the element's index in the tree. This seems like a hassle - especially since elements might come and go in a matter of frames.
In an old thread someone suggested bit-shifting element's positions, in order to add them to a grid of lists, making queries a bit faster. This grid would be cleared every frame, making it easy to move, add and delete elements. However, I believe it had some other problematic flaw, making it less ideal. I'll tyr to dig it up later.
What do you guys use for this problem?