Я работаю над кодом связанного списка и хотел получить доступ к head.next.next.data. Есть ли способ, где я могу сохранить .next.next.data в переменной x, чтобы я мог сделать вызов head.x и получить результат, если у меня есть данные, заполненные в списке? Я хочу реализовать
public class CustomSOL<E> implements SOL<E>
{
private static class customNode<E>
{
private customNode<E> next;
private E data;
public customNode(E dataItem)
{
this.data = dataItem;
this.next = null;
}
private customNode(E dataItem, customNode<E> nodeRef)
{
this.data = dataItem;
this.next = nodeRef;
}
}
private customNode<E> head;
private int size;
public CustomSOL()
{
head = null;
size = 0;
}
public void solLookup(int amount)
{
String s = "next";
StringBuilder sb = new StringBuilder(14);
for(int i = 0; i < amount; i++)
sb.append(".").append(s);
System.out.println(head.s.data);
}
}
, поэтому в основном, если у меня есть
CustomSOL<String> list = new CustomSOL<String>();
list.solAdd("Apple");
list.solAdd("Orange");
list.solAdd("Banana");
list.solAdd("Strawberry");
list.solAdd("Papaya");
и я вызываю list.solLookup (3):
String s = "next.next.next";
System.out.println(head.s.data);
Я хочусм. Strawberry распечатка, чего, очевидно, не будет, потому что s - строка. Но есть ли способ, подобно тому, как у javascript и PHP есть переменные функции, заменить все эти следующие вызовы на переменную s? Я использую строку, потому что я могу использовать параметр количества в solLookup, чтобы создать соответствующие примечания следующего вызова. Спасибо!