У меня есть закрытый узел класса внутри публичного класса singlyLinkedList, и я хочу перемещаться по списку (как временный) из другого общедоступного класса, так как я могу создать временный узел или (метод) для перемещения по списку. и я не могу поменять класс Node на public, и я должен сохранить приватность. Идея программирования заключается в следующем: прочитать данные из файла в классе TextAnalyzer, затем вставить их в SinglyLinkedList с подсчетом частоты слов. класс singlyLinkedList
public class SinglyLinkedList<T> {
private static class Node<T> {
public T data;
Node<T> next;
public Node(T data) {
this.data = data;
next = null;
}
}
Node<T> head;
Node<T> tail;
int size;
public SinglyLinkedList() {
head = null;
tail = null;
size = 0;
}
public void insert(T S) {
Node<T> temp = new Node<T>(S);
if (head == null) {
head = tail = temp;
size++;
return;
}
temp.next = head;
head = temp;
size++;
return;
}
public void display() {
Node<T> tmp = head;
while (tmp != null) {
System.out.println(tmp.data.toString());
tmp = tmp.next;
}
Класс TextAnalyzer
SinglyLinkedList<WData> list = new SinglyLinkedList<WData>();
private static class WData {
String word;
int freq;
public WData(String w, int f) {
word = w;
freq = f;
}
// .. Add other methods here as needed
@Override
public String toString() {
// if(list.)
return "WData{" + "word=" + word + " , freq=" + freq + '}';
}
}
public Scanner sc;
public void processText(String filename) {
try {
sc = new Scanner(new File(filename));
while (sc.hasNext()) {
String line = sc.next();
String[] st = line.split(" ");
for (int i = 0; i < st.length; i++) {
processWord(st[i]);
}}
list.display();
} catch (FileNotFoundException ex) {
System.out.println("error in loadstudends Scanner");
}
}
public void processWord(String word) {
Node<WData> temp = list.head;
while (temp != null) {
if (temp.data.word.equalsIgnoreCase(word)) {
break;
}
temp = temp.next;
}
if (temp == null || Dtemp.data.word.matches(".*\\d.*")) {
list.insert(new WData(word, 1));
} else {
temp.data.freq += 1;
}
}}
мы не можем создать узел temp, потому что узел класса является закрытым, поэтому я не смог пойти на цикл