La verdad, no se como funciona el arraylist, es mas, aun no tengo la oportunidad de conocer al C#, pero puedes consultar en la documentación de Java sobre el funcionamiento de java.util.Vector, java.util.LinkedList, etc. El punto es que las clases que manejan listas se encuentran en el paquete java.util.
Espero que te sea de ayuda