Map <K,V> .keySet()不支持add/addAll操作

Hic*_*aid 7 java dictionary set keyset unsupportedoperation

关于Map<K,V>界面:

为什么keySet()返回Set支持remove操作但不支持add()addAll()操作?

Era*_*ran 11

Set通过返回keySet被支持Map,所以对映射的改变被反映在该组,并且反之亦然.这意味着调用removeSetEntry从中删除匹配Map.

这将毫无意义打电话addaddAllSet,因为你不能添加关键[S]没有相应值[S]的Map.