To my standpoint, no, Java does not need tuples. Wait, let me refine it. It would be a BAD idea to implement tuples in Java.
Why? Because of Java way of thinking. Nearly everything in Java is there to prevent runtime errors: statically strong typing, explicit variable declaration, single inheritance, generics, exceptions and so on.
This is the strongest point of Java (with its huge library), and that's why java gains so much popularity in the industry world.
Tuples means implicitly adding dynamic typing and inference, which is completely at the oposite of Java's philosophy.
Not that tuples are bad, I use them happily in other languages, they're just inappropriate for Java.
EDIT: To explain my point about dynamic typing, as said in the comment, I was thinking about an unknown set of return elements.
Anyway, how would we grab the tuple? Using a
val1, val2 = obj.method()
could be fine, but what if you want to use the result as a parameter of another method?