private HashMap<DataObject, HashSet> AllDataObjects;
...
/** Returns all DataObject elements that are NOT in the specified set. */
private DataObject[] invert( HashSet<DataObject> set )
{
HashSet<DataObject> keys = (HashSet) AllDataObjects.keySet();
keys = (HashSet) keys.clone();
keys.removeAll( set );
return (DataObject[]) keys.toArray();
}
请注意,我不想AllDataObjects
通过此过程进行更改。我将一组AllDataObjects
' 键(这是DataObject
我希望set
从中减去参数的 s)转换为 HashSet 以使用克隆,它应该返回一个浅拷贝,然后我可以从中删除set
而不影响AllDataObjects
.
你觉得这合适吗?