If I have some arbitrary data structure, what can I say about this structure if the following scenarios hold:
(1) If I put five elements into a data structure, then it is possible to retrieve those same five elements in that same order. For example, if I put the numbers 4, 6, 2, and 7 into an array, and I retrieve the first element, it will be a 4.
(2) If I put five elements (that can be compared) into a data structure, then they will always be sorted by some criteria. That is, if the criteria is increasing magnitude and I put 4, 6, 2, and 7 into this structure, and I retrieve the first element, it will be a 2.
(3) If I put five elements into a data structure, there is no operation that I can perform that will insure that I retrieve back the first element that I put in it.
(4) If I put five elements into it, then adding any elements that are already in the structure will have no impact on the structure.
EDIT: I am not asking for the names of the data structures that would have these properties. One would be like a List, 2 would be a binary search tree or something, 3 would be a Hash, and four would be a HashSet or many other implementions of collections that don't allow duplicates. I'm asking for property names. For example the ability to say "For this problem we need to use an ordered data structure..."