title: What data structure would support key-value pairs, that allows the keys to be ordered and amendable
body: <p>What Data Structure would support key-value pairs with the ability to order or prioritise by the key, and also allow for amending and updating of the key and permit multiple instances of same key?</p>
  
  <p>Adding to the structure is not too much of a concern, incrementing the key is far more frequent and it is occasionally required to retrieve a key by a specified value.</p>
  
  <p>I have already investigated DoubleLinkedLists but fear that it is not the most effective structure. I am in the process of investigating Tree structures and more specifically, Maps, Heaps and Dictionaries but could do with some guidance as each of these areas has dozens of variations.</p>
  
  <p>Any suggestions would be welcome...</p>