gpt4 book ai didi

java - 使用 Collection 对 ArrayList 进行排序的问题

转载 作者:行者123 更新时间:2023-12-01 18:27:38 25 4
gpt4 key购买 nike

我正在尝试使用其参数之一对 VariantOptionData ArrayList 进行排序。

这是我的VariantOptionData

public class VariantOptionData  implements java.io.Serializable 
{

private Collection<VariantOptionQualifierData> variantOptionQualifiers;
private StockData stock;
private NGCPSizeEnum cs2;
}

我想使用 cs2 参数对此列表进行排序。我正在这样做..

List<VariantOptionData> allSizes = Converters.convertAll(style.getVariants(), getVariantOptionDataConverter());

Collections.sort(allSizes, new Comparator<VariantOptionData>()
{
@Override
public int compare(final VariantOptionData s1, final VariantOptionData s2)
{
return Integer.parseInt(s1.getCs2().getCode()) < Integer.parseInt(s1.getCs2().getCode()) ? s1.getCs2().getCode() : s2.getCs2().getCode();
}
});

我知道这是错误的,但我正在尝试类似的事情,但无法理解比较器到底是如何工作的。 cs2 是一个枚举字段,其以代码作为增量值。我想使用 Integer.parseInt(s1.getCs2().getCode()) 递增顺序对此列表进行排序。请帮忙

最佳答案

您必须返回的不是比较器中的最大值,而是,例如减去它们:

@Override
public int compare(final VariantOptionData s1, final VariantOptionData s2)
{
return Integer.parseInt(s1.getCs2().getCode()) - Integer.parseInt(s2.getCs2().getCode());
}

关于java - 使用 Collection 对 ArrayList 进行排序的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25504596/

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