相关疑难解决方法(0)

有没有办法检查两个集合是否包含相同的元素,与订单无关?

我一直在寻找一种操作类似Arrays.equals(a1, a2)但忽略元素顺序的方法.我无法在Google Collections中找到它(类似的东西Iterables.elementsEqual(),但确实考虑到了排序)和JUnit(assertEquals()显然只是调用equals()Collection,这取决于Collection实现,而这不是我想要的)它会如果这样的方法会采用Iterables,那就最好了,但是我也可以简单地使用Collections这样的方法当然会考虑集合中的任何重复元素(所以它不能简单地测试containsAll()).

请注意,我不是在问如何实现这样的事情,我只是想知道是否有任何标准的Collections库都有它.

java collections equals

36
推荐指数
2
解决办法
4万
查看次数

如果两个IEnumerable <T>在C#中具有相同的项目,那么比较最短的方法是什么?

可能重复:
测试两个IEnumerable <T>是否具有相同频率的相同值

我写

更新 - 更正:

static bool HaveSameItems<T>(this IEnumerable<T> self, IEnumerable<T> other)
{
    return ! 
    ( 
        other.Except(this).Any() ||
        this.Except(other).Any()
    );
}
Run Code Online (Sandbox Code Playgroud)

有没有更短的方式?我知道有,SequenceEqual但顺序对我来说无关紧要.

c# linq ienumerable

16
推荐指数
2
解决办法
9620
查看次数

标签 统计

c# ×1

collections ×1

equals ×1

ienumerable ×1

java ×1

linq ×1