Para ArrayList, sería std::vector. Para Date tienes varias opciones. Puedes usar las funciones de <ctime> (o <time.h>), aunque como vienen desde C, no hay clases sino sólo las funciones sueltas.
Si no te sirve o quieres algo más "moderno", en la cabecera <chrono> (y namespace std::chrono) hay varias clases que te podrían servir, como sys_days o sys_seconds (dependiendo de cuánta precisión quieras, días o segundos), o directamente time_point, que te permite especificar otras unidades de precisión. Lo único malo es que apenas fueron agregadas a C++ en 2020, y algunos compiladores tardaron en implementarlas bien, así que necesitas usar un compilador muy reciente. Además, como pasa casi siempre con la STL, su funcionamiento tiene sentido (más o menos
) una vez que lo aprendes bien, pero es muy poco intuitivo al principio. Si con ctime te basta para lo que necesitas, te recomendaría que eso uses.