gpt4 book ai didi

list - Groovy:比较列表忽略其中元素的顺序

转载 作者:行者123 更新时间:2023-12-05 09:30:32 40 4
gpt4 key购买 nike

我有两个列表,比方说:

def list1 = ["ABC", "DEF", "GHI", "JKL"]
def list2 = ["ABC", "DEF", "JKL", "GHI"]

我想比较这两个列表并确保它们具有相同的值,无论它们出现的顺序如何。

我已经试过了,但它似乎不起作用:

 assert new HashSet( Arrays.asList(list1)).equals(new HashSet( Arrays.asList(list2)))

谁能指出我正确的方向?非常感谢。

最佳答案

如果你想继续使用 List 而不使用 Set,你可以比较排序列表:

def list1 = ["ABC", "DEF", "GHI", "JKL"]
def list2 = ["ABC", "DEF", "JKL", "GHI"]

assert list1 != list2
assert list1.sort() == list2.sort()

建议的基于集合的比较可能是危险的,因为列表包含不同数量的重复项:

def list1 = ["ABC"]
def list2 = ["ABC", "ABC", "ABC"]

assert list1.sort() != list2.sort()
assert list1 as Set == list2 as Set // GOTCHA!

关于list - Groovy:比较列表忽略其中元素的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69435561/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com