Я пишу двоичное дерево поиска для алгоритма обучения.Я использовал затмение в качестве моей IDE.В моем окне редактора есть предупреждение, но я думаю, что нет никакого неправильного определения или использования.Предупреждение The value of the field BST<Key,Value>.Node.value is not used
.Но из моего апплета видно, что поле значений определенно используется в конструкторе.Я сохраняю его много раз и компилирую.Но это держать там.Я человек, стремящийся к совершенству.Таким образом, я могу понять это предупреждение, потому что я не делаю это неправильно, поскольку это напоминает.Поэтому я вставляю апплет сюда и хочу, чтобы кто-нибудь мог посмотреть его и сказать, правильно ли я его сделал.
package com.raymei.search;
public class BST <Key extends Comparable<Key>, Value> {
private class Node {
private Key key;
private Value value; // warning position
private Node left;
private Node right;
public Node(Key key, Value value) {
this.key = key;
this.value = value;
this.left = null;
this.right = null;
}
}
private Node root;
private int count;
public BST() {
root = null;
count = 0;
}
public int size() { return count; }
public boolean isEmpty() { return count == 0; }
public void insert(Key key, Value value) {
root = insert(root, key, value);
}
public Node insert(Node node, Key key, Value value) {
if (node == null) {
node = new Node(key, value);
count++;
return node;
}
if (key.equals(node.key)) {
node.value = value;
} else if (key.compareTo(node.key) < 0) {
node.left = insert(node.left, key, value);
} else {
node.right = insert(node.right, key, value);
}
return node;
}
public static void main(String[] args) {
BST<String, Integer> bst = new BST<>();
bst.insert("Tom", 19);
bst.insert("Kate", 20);
bst.insert("Leonard", 20);
bst.insert("Hulk", 35);
System.out.println(bst.count);
}
}