public X get(int index)
{
if (index >= 0)
{
Node<X> i = head;
int c = 0;
while (c < index)
{
i = i.getLink();
c++;
}
return i.getValue();
}
else
{
throw new ArrayIndexOutOfBoundsException();
}
}
@Test
public void testGet12()
{
LList<String> b = new LList<String>();
b.add("str1");
b.add("str2");
b.add("str3");
b.add("str4");
b.add("str5");
b.add("str6");
b.add("str7");
b.add("str8");
b.add("str9");
b.add("str10");
b.add("str11");
b.add("str12");
assertEquals("str8", b.get(7));
assertEquals("str12", b.get(11));
assertEquals("str1", b.get(0));
}
這是說,它期待str8,但越來越str5,爲什麼我的索引關閉3?我在這裏錯過了什麼嗎?對我來說,似乎當它沒有達到索引時,它會向上一個鏈接,直到它達到它然後吐出價值。
使用筆和紙給每個'add'後標記您的狀態。 –
分享爲add() – Arvind