gpt4 book ai didi

java - 不循环地返回 HashMap 中的所有键

转载 作者:行者123 更新时间:2023-11-30 08:17:32 24 4
gpt4 key购买 nike

我正在尝试用城市名称填充 JComboBox。

我的程序有一个名为“Country”的类。 Country 对象包含一个名为“City”的对象的 HashMap,该对象具有 getName 方法,返回一个 String 值。

public class Country {

private final Map<String, City> cities = new HashMap<>();

public Collection<City> getCities() {
return cities.values();
}

}

public class City {

String cityName;

public String getName() {
return cityName;
}

}

是否可以在不使用循环的情况下返回 cityName 的字符串数组?我尝试了以下方法,但没有成功:

Country country 1 = new Country();

String[] cityNames = country1.getCities().toArray();
JComboBox cityChoice = new JComboBox(cityNames);

这会返回一个 City 对象数组,但是我不确定如何与其结合使用 City getName 方法。

最佳答案

你无法避免循环。要么您将循环,要么 Java 将在后台循环。

如果 map 中的键是城市名称,您可以避免编写自己的循环。然后,你只能从 map 上询问.keySet()。但是,即使在这种情况下,Java 也会在后台循环并复制 key 。

另一种方法是循环,但将循环隐藏在类中的某些方法(例如 getCitiesArray())中。因此,您可以在调用方法中执行 country1.getCitiesArray(); 。代码看起来会更好并且更容易阅读,但您仍然需要在类内部有循环。

关于java - 不循环地返回 HashMap 中的所有键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29445759/

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