Analizando una fórmula química

Estoy tratando de escribir un método para una aplicación que tome una fórmula química como "CH3COOH" y devuelva algún tipo de colección llena de sus símbolos.

CH3COOH devolvería [C, H, H, H, C, O, O, H]

Ya tengo algo que funciona, pero es muy complicado y usa mucho código con muchas estructuras y bucles anidados.

¿Hay alguna manera de hacer esto usando algún tipo de expresión regular con String.split o tal vez en algún otro código simple brillante?

Respuestas a la pregunta(5)

Su respuesta a la pregunta