我正在寻求一种正确的方法,根据地图的内容创建唯一ID。因此,我期望包含相同数据的2个地图的ID也是相同的,并且碰撞的可能性尽可能小。
我目前的猜测是使用UUID,将地图写入对象,然后从字节构建UUID。
Map map;
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(map);
out.close();
UUID.nameUUIDFromBytes(byteOut.toByteArray());
然而,我想问一下这是否是最佳方式,如果不是,我应该尝试什么?