Sparse set
Een datastructuur die een dichte waardenarray koppelt aan een ijle indexarray, met O(1) invoegen, verwijderen en lidmaatschapstest plus cachevriendelijke iteratie.
Twee arrays vormen de basis: een dichte (packed) array met de elementen aaneengesloten, en een grote ijle array, geïndexeerd op de sleutel, die opslaat waar elk element in de dichte array staat. Een lidmaatschapstest is één indirectie; bij verwijderen wordt het laatste dichte element in het gat gezet en worden twee indices bijgewerkt — er schuift niets op. Iteratie over de dichte array raakt alleen levende elementen, op volgorde.
Daarom slaan ECS-bibliotheken elk componenttype op als sparse set met de entiteits-id als sleutel: de iteratie is lineair en cachevriendelijk, in de stijl van data-oriented design. De prijs is geheugen — de ijle array is zo groot als het sleutelbereik, niet als het aantal elementen. Briggs en Torczon beschreven de techniek in 1993.