gpt4 book ai didi

java - 对数组列表进行排序

转载 作者:行者123 更新时间:2023-12-01 23:29:25 24 4
gpt4 key购买 nike

我希望按公司名称对数组进行排序,仅打印在特定时间之前开放的公司......在打印之前

public void printCompanies(int time)
{
Iterator <Company> it = CompanyList.iterator();
while( it.hasNext()) {
Company a = it.next();
if(a.getTime() == (time)) {
Collections.sort(CompanyList.getName());
}
}
}

我收到错误,找不到方法 getName(),此方法在另一个类中具有特色。那不是继承等。

我的思路正确吗?/我该如何修复这个错误

如果我使用

   Collections.sort(Company.getName());

然后我收到错误“无法从静态上下文引用非静态方法 getName()?

最佳答案

据我了解,CompanyList 是一个列表,而 getName() 是单个公司的方法。这就是错误的来源。

为了使代码按您想要的方式工作,您需要了解 Collections.sort ( JavaDoc ) 的工作原理。使其按名称对公司进行排序的最简单方法是修改 Company 类以实现接口(interface) Comparable<Company> ( JavaDoc ) 并实现 compareTo方法,因此它比较两家公司的名称。假设名称是字符串,它可能不会比

更复杂
int compareTo(Company other) {
return this.getName().compareTo(other.getName());
}

或者,您可以使用 Comparators ( JavaDoc ) 稍微复杂一些,但更灵活,例如,如果您需要根据不同的标准进行排序。

关于java - 对数组列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19553694/

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