How to use list?

UE4 provides many list containers such as TList, TLinkedList and TDoubleLinkedList. Both of them are hard to use comparing to STL list. The iterator of these container lack remove function, and insert and delete operation (TList and TLinkedList)need to write many lines of code and are bug prone.
I found these list container are not used very often in UE4 source code, What container should I use when I need insert and deletet element in mid position of container?

but insert and delete element on any position in TArray may lead to poor performance, because all element behind the one deleted need to move forward (if I need to preserve the element order).

I think TArray will be best for you, as you can Add and Remove elements from a TArray using Add() and Remove() methods. If you want to insert into middle of TArray you can use Insert(variable value, index) method. TArray also provide positional or random access(just like arrays using [] ) after initialization. It is mostly similar to Vector in C++ STL.

Here is documentation link for TArray in UE4:

I Hope this helps you ,Cheers!

Its just a trade off that you have to make.

In fact I am just wondering why UE4 don’t provide full functional List Container like STL?