Achatar uma lista

Crie uma função que receba um array contendo valores primitivos e arrays aninhados em qualquer profundidade. Retorne um único array plano e unidimensional que contenha todos os valores que não sejam arrays, mantendo a mesma ordem da esquerda para a direita.

  • Quando um item for um array, inclua cada um de seus itens e aplique a mesma regra recursivamente.
  • Quando um item não for um array, inclua-o sem alterações.

Exemplos

Program.flattenList(new Object[] { 1, "2", new Object[] { 3, new Object[] { 4, 5 }, 6 }, 7, 8 }); // new Object[] { 1, "2", 3, 4, 5, 6, 7, 8 }

Program.flattenList(new Object[] { 1 }); // new Object[] { 1 }

Program.flattenList(new Object[] { }); // new Object[] { }