Most efficient way to find and then remove from a TArray?

Maybe try TMap or TLinkedList?