Ruby VS Java

Spero che qualcuno sappi eliminare questo mio dubbio.

volendo scrivere un programma ruby in java sono corrette le seguenti
considerazioni?

RUBY JAVA
[] --> LIST
SET --> HASHSET O TREESET
HASH --> MAPPE

quindi se nel programma ruby ho ad esempio i=Set.new(), in java è
corretto scrivere i = new TreeSet()?

le corrispondenze sono giuste?

inoltre, è corretto dire che è preferibile usare un TreeSet quando gli
oggetti che andrà a contenere implementano comparable?
quindi anche se in ruby ho i = [] in java posso scrivere i = new
TreeSet dove nome classe è una classe che implementa
comparable?

grazie a tutti