C#のHashSetって読み書き割と早いし自動で重複破棄できるしビルトインで集合取り扱えるから中々優秀だな
Indexないのはまあ仕方ないどうしても欲しければDictionaryで通し番号int型Keyにすれば擬似的にインデックス作れるし