I've only worked with arrays and list at this point so for this project I've been using list but I've been wondering if there's a better way. I have 2 sets of data that need to be stored, in both sets the data is a class I have written.
For the first set has an unknown number of elements but will be several thousand. After the list is filled no elements will be modified. The elements will need to be sorted by a date stamp which is a member of the class. Almost all access to the elements will be done in sequential order. The exception to this is in rare instances the set will need be searched forward for the next 5 instances of certain value. Processing will then continue from the element that triggered the search.
The second set again has an unknown number of elements but will be ~70. The set will be searched for an element, have a value read from that element, then have the search repeated for a new key. Some math is done on the two read values which modifies them. The changes made to the values must be updated to the elements in the set. (At the moment I'm thinking I'll achieve this by leaving a pointer to the value after the element has been searched for.)
To sum up my question: What is the best container to use for storing and processing these two sets of data?