In my use case, there is an interface IInterface and a map of List as keys and IInterface as values. 

```
public interface IInterface{
   ....
}

public MyClass{
    Map<List<Integer>, IInterface> interfaceByStringList;
    MyClass(){
        interfaceByStringList = new HashMap<List<Integer>,IInterface>();
    }

    //Method to remove one element from key list
    public Map<List<Integer>, IInterface> myMethod(IntegerelementToRemove){
        ................
    }
}

```

In the above scenario, I have to remove "elementToRemove" from list of keys where it is present in the keySet() of the Map. Then I have to return the updated Map.

For e.g. 
Map's KeySet is like this: 

```
{[1,2,3],[4,7,5],[67],[23,41]}
and corresponding values: 
{IInterface1, IInterface2,IInterface3,IInterface4]

```

Suppose if I want to remove 4 then my updated map to return:
Updated Map KeySet: 

```
{[1,2,3],[7,5],[67],[23,41]}
and corresponding values: 
{IInterface1, IInterface2,IInterface3,IInterface4]

```