I know there are previous answers around this, but things have changed new EIP's:
Right now I'm using an array of structs, for something I only do in memory. It's very messy code and would be much simpler as mapping (with no arrays) — but I'm avoiding that due to the gas for storage writes. If I instead used a mapping, and deleted the mapping at the end of the function, would gas be comparable?