I use a HashMap to store the records and keys are the records number, so it could be any "unique" number, so my logic with negative or starting from 0 would actually always be "get this record with this key".
The key point is to document your choice/limitation.
That is what I did too. It may seem like a stupid question or obvious to some, but as I flushed the application out I thought of all the potential edge cases that might occur in Data. That was one of them.