分享

快速找到两个相同实体或比较两个实体是否相同

 悟道习术 2020-07-26

在编程过程中会常常遇到比较两个实体是否一样的情况,或者找到两个完全一样的实体。基本上都是把实体的各个属性比较一下,看他们是否完全一样,一样就一相同实体,只要有一个属性不一样就是不同实体。

在实体量很少和情况下是完全可行,如果只有2个实体的话就比较实体一次如果是3个,就需要实体3次,如果是4个实体就需要6次…n(n>1,n∈自然数)个实体就需n×(n-1)/2 次。

若实体还有m(m>1,m∈自然数)个属性,那么比较次数为n×(n-1)/2 ×m。所以实体量越大,属性越多,比较数量呈平方级增长。

于是想优化此方法,偶然发现,实体的属性值转化为字符串后按相同规律连接到一起就是一个字符串,N个实体中要是找到这相同的实体只需找到相同的合并字符串就可以了。代码量也将大大减少,如果将合并属性与其他属性存在data table中,直接select就能找到相同实体。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多