HashMap<usize, usize> and
Vec<usize>. I created vector because I want to get random element from the
HashMap (which means that vector with element 2 is connected to
HashMap element with key 2). Now, this works okay, I generate a random number in a range between 1 and length of the vector and then delete that element of the vector as well as corresponding element in the
However, problem arises for the other way around. Sometimes I want to delete element of the
HashMap directly and as a result delete corresponding element in the vector. At first I thought to store reference to corresponding vector element in each value of the
HashMap element but as I can see it’s not possible to remove vector by passing reference to it.
Is there a way to solve this problem without creating third structure?
Edit: I realized that problem could be solved with
retain() method since I have unique elements. It would be interesting to see an answer for non-unique elements though.