Tree Map 检索 HashMap 的值而不是 Tree Map Values Java
Tree Map retrieves value of HashMap instead of the Tree Map Values Java
我有三个 类 嵌套树图。我有一种方法可以将值放入每个映射中,还有一种方法可以检索这些值。我遇到的问题是,控制台中的输出不是检索值,而是如下所示:project.Verbal@5c647e05
我如何输入值:
Verbal square = new Verbal();
square.addVerbal("arbol1", square.addInVerbal("arbol2", square.addInInVerbal("atributo name", "attributeValue")));
我如何检索值:
System.out.println(square.getVerbal("arbol1").getInVerbal("arbol2").getInInVerbal("atributo name"));
父图:
import java.util.TreeMap;
public class Verbal extends InVerbal {
private TreeMap<String, InVerbal> squareRPM = new TreeMap<String, InVerbal>();
public TreeMap<String, InVerbal> getSquareRPM() {
return squareRPM;
}
public void setSquareRPM(TreeMap<String, InVerbal> squareRPM) {
this.squareRPM = squareRPM;
}
//Put items in the treemap
public Verbal addVerbal(String key, InVerbal component){
squareRPM.put(key, component);
return this;
}
//Get items in the treemap
public Verbal getVerbal(String key){
squareRPM.get(key);
return this;
}
}
Parent 内部的内部映射
import java.util.TreeMap;
public class InVerbal extends InInVerbal {
private TreeMap<String, InInVerbal> component = new TreeMap<String, InInVerbal>();
public TreeMap<String, InInVerbal> getComponent() {
return component;
}
public void setComponent(TreeMap<String, InInVerbal> component) {
this.component = component;
}
//Put items in the treemap
public InVerbal addInVerbal(String key, InInVerbal attributes){
component.put(key, attributes);
return this;
}
//Get items in the treemap
public InVerbal getInVerbal(String key){
component.get(key);
return this;
}
}
内层地图 > 内部内部地图 > 内部父层
import java.util.TreeMap;
public class InInVerbal {
private TreeMap<String, String> attribute = new TreeMap<String, String>();
public TreeMap<String, String> getAttribute() {
return attribute;
}
public void setAttribute(TreeMap<String, String> attribute) {
this.attribute = attribute;
}
//Put items in the treemap
public InInVerbal addInInVerbal(String attributeName, String attributeValue){
attribute.put(attributeName, attributeValue);
return this;
}
//Get items in the treemap
public InInVerbal getInInVerbal(String attributeName){
attribute.get(attributeName);
return this;
}
}
提前致谢。
您正在获取调用默认 Object
's toString() 方法的结果。将其覆盖为您想要的输出。
例如
@Override
public String toString() {
return this.squareRPM.toString();
}
我认为您只需要覆盖特定 class 中的对象 class toString() 方法,因为它实际上是在打印值时调用对象 class toString() .
像这样:
class Car {
public String getCarName() {
return carName;
}
public void setCarName(String carName) {
this.carName = carName;
}
public Car(String carName) {
this.carName = carName;
}
@Override
public String toString() {
return "Car{" +
"carName='" + carName + '\'' +
'}';
}
String carName;
}
我有三个 类 嵌套树图。我有一种方法可以将值放入每个映射中,还有一种方法可以检索这些值。我遇到的问题是,控制台中的输出不是检索值,而是如下所示:project.Verbal@5c647e05
我如何输入值:
Verbal square = new Verbal();
square.addVerbal("arbol1", square.addInVerbal("arbol2", square.addInInVerbal("atributo name", "attributeValue")));
我如何检索值:
System.out.println(square.getVerbal("arbol1").getInVerbal("arbol2").getInInVerbal("atributo name"));
父图:
import java.util.TreeMap;
public class Verbal extends InVerbal {
private TreeMap<String, InVerbal> squareRPM = new TreeMap<String, InVerbal>();
public TreeMap<String, InVerbal> getSquareRPM() {
return squareRPM;
}
public void setSquareRPM(TreeMap<String, InVerbal> squareRPM) {
this.squareRPM = squareRPM;
}
//Put items in the treemap
public Verbal addVerbal(String key, InVerbal component){
squareRPM.put(key, component);
return this;
}
//Get items in the treemap
public Verbal getVerbal(String key){
squareRPM.get(key);
return this;
}
}
Parent 内部的内部映射
import java.util.TreeMap;
public class InVerbal extends InInVerbal {
private TreeMap<String, InInVerbal> component = new TreeMap<String, InInVerbal>();
public TreeMap<String, InInVerbal> getComponent() {
return component;
}
public void setComponent(TreeMap<String, InInVerbal> component) {
this.component = component;
}
//Put items in the treemap
public InVerbal addInVerbal(String key, InInVerbal attributes){
component.put(key, attributes);
return this;
}
//Get items in the treemap
public InVerbal getInVerbal(String key){
component.get(key);
return this;
}
}
内层地图 > 内部内部地图 > 内部父层
import java.util.TreeMap;
public class InInVerbal {
private TreeMap<String, String> attribute = new TreeMap<String, String>();
public TreeMap<String, String> getAttribute() {
return attribute;
}
public void setAttribute(TreeMap<String, String> attribute) {
this.attribute = attribute;
}
//Put items in the treemap
public InInVerbal addInInVerbal(String attributeName, String attributeValue){
attribute.put(attributeName, attributeValue);
return this;
}
//Get items in the treemap
public InInVerbal getInInVerbal(String attributeName){
attribute.get(attributeName);
return this;
}
}
提前致谢。
您正在获取调用默认 Object
's toString() 方法的结果。将其覆盖为您想要的输出。
例如
@Override
public String toString() {
return this.squareRPM.toString();
}
我认为您只需要覆盖特定 class 中的对象 class toString() 方法,因为它实际上是在打印值时调用对象 class toString() .
像这样:
class Car {
public String getCarName() {
return carName;
}
public void setCarName(String carName) {
this.carName = carName;
}
public Car(String carName) {
this.carName = carName;
}
@Override
public String toString() {
return "Car{" +
"carName='" + carName + '\'' +
'}';
}
String carName;
}