From array of Actors to array of StaticMeshComponent

// Get all overlapping actors and store them in an array
TArray<AActor*> CollectedActors;

CollectionSphere->GetOverlappingActors(CollectedActors);

if (CollectedActors.Num() == 0)
	return;

TArray<UStaticMeshComponent*> Components;

for (int32 i=0; i< CollectedActors.Num(); i++)
{
            // Need have Components array carry each CollectedActors' Static component here
            // This returns the last
	CollectedActors[i]->GetComponents<UStaticMeshComponent>(Components);
}

Solved it by doing my logic inside the loop for each CollectedActor