ここに私のコードです。私は汚れていることをお詫びしますが、基本的にスイッチが使用する後方学習アルゴリズムをシミュレートすることです。 handleInputメソッドは、srcとdestのMACアドレスとポート番号を取り込み、srcのMACとポート番号をHashMapsとしてArrayListに追加します。何らかの理由でHashMapがArrayListに残っていないため、メソッド全体が役に立たなくなります。どんな助けでも大歓迎です!ArrayList <HashMap>がテストとUIで空に戻りますか?
public class Switching {
ArrayList<HashMap> switchTable = new ArrayList<HashMap>();
public String handleInput(String srcMacAddress, int portNumber, String destMacAddress){
String output = "";
HashMap tableEntry = new HashMap();
tableEntry.put(srcMacAddress, portNumber);
for (HashMap hm : switchTable) {
if (hm.containsKey(destMacAddress)) {
output += hm.get(destMacAddress).toString();
} else {
output += "Ports flooded";
}
}
switchTable.add(tableEntry);
return output;
}
public ArrayList<HashMap> getTable(){
return switchTable;
}
public class SwitchingTests {
@Test
public void testSwitching(){
new Switching().handleInput("123456", 12, "abcdef");
ArrayList<HashMap> switchingTable = new Switching().getTable();
Assert.assertEquals(switchingTable.toString(), "[{123456=12}]");
}
}
このメソッドの最初の命令は、switchTableを新しい空のものに置き換えます。また、生の型は使用しないでください。 'List
クラスと期待される出力を使用して、これ以上コードを追加できますか? –