我正在努力实现我正在尝试实现的散列图。基本前提是我在txt文件中有一个站列表,每个站点之间有“连接”。喜欢的东西;
连接:Station1 Station2
连接:Station4 Station6
我有几种方法,它们将一个电台名称添加为一个字符串,然后将它的“连接”电台存储在一个arraylist中,然后我可以检索它以显示“Station4:连接到Station 6”,依此类推。
下面我关注的两种方法是“添加站”和“添加连接” 我已经设置好了,所以Hashmap“station”应该包含一个String> Arraylist关系。我的想法是“字符串”将存储电台名称,然后arraylist“connectedstations”将存储它所连接的所有电台,我只是不知道如何创建关联?我在使用Key之前写了一些,但我似乎无法在这里工作!
任何帮助都会非常感激!感谢
public class MyNetwork implements Network {
//The Hashmap of type String, Arraylist. The String holding the
//station name, and the arraylist holding the stations connected to it
HashMap<String, ArrayList> stations = new HashMap<>();
//the arraylist to hold the connected stations
ArrayList<String> connectedstations = new ArrayList<>();
@Override
public void addStation(String station) {
//adds a station to the hashmap, pointing to a CURRENTLY empty
//arraylist "connectedstations"
stations.put(station,connectedstations);
}
@Override
public void addConnection(String fromStation, String toStation) {
/**
* Add a direct connection from one station to another.
* @pre both fromStation and toStation have already been added by the method
* addStation.
* @param fromStation The station from which the connection begins.
* @param toStation The station at which the connection ends.
*/
}
答案 0 :(得分:2)
您当前的代码为添加到地图的所有工作站添加了相同的连接列表。这可能不对,因为每个电台都有自己的连接列表。
addStation()
应该将一个电台添加到地图中,并将新的空列表作为值。
addConnection()
应获取地图中与电台相关联的连接列表,并应将电台添加到此列表中。
只需补充几点注意事项:
Map<String, List<String>>