Я в настоящее время реализую Trie, и это мой код до сих пор:
1 public class DictionaryDLB{
2
3 private Node root = new Node();
4
5 private class Node {
6 private Character val;
7 private LinkedList<Node> next = new LinkedList<Node>();
8 }
9
10 public void put(String key)
11 { root = put(root, key, 0); }
12
13 private Node put(Node x, String key, int d){
14 if (x == null) x = new Node();
15 if (d == key.length()) { x.val = '$'; return x; }
16 char c = key.charAt(d);
17 for(Node item : x.next){
18 if(c == item.val){
19 item = put(item, key, d+1);
20 }
21 }
22 return x;
23 }
24 }
Однако, когда я пытаюсь скомпилировать, я получаю эту ошибку в приватном put()
методе:
DictionaryDLB.java:17: error: for-each not applicable to expression type
for(Node item : (x.next)){
^
required: array or java.lang.Iterable
found: LinkedList<Node>
1 error
Я просмотрел различные примеры в Интернете, и кажется, что это должно работать, потому что java.util.LinkedList
действительно реализует java.lang.Iterable
.Однако это не так, и я в тупике.Любая помощь или совет будут оценены.Спасибо!