我是 Java 的初学者,我正在尝试使用类在 Java 中实现类似数据结构的结构,我想在其中寻找匹配项......这个问题之前可能已经被问过,但我找不到它。请帮忙。代码如下:
public class operations extends DefFunctionHandler {
public Integer stream;
public Integer funct;
public String name;
public Integer funcgroup;
public Integer source;
}
//in another class
public void execute(String x) {
List<operations> oplist = new ArrayList<operations>();
operations op = new operations();
for(int i=0; i< functi.size();i++){
op.stream = str.get(i);
op.funct = functi.get(i);
op.funcgroup = functigroup.get(i);
op.name = nme.get(i);
op.source = src.get(i);
}
oplist.add(op);
Map<String, List<operations>> map = new HashMap<String, List<operations>>();
map.put(x, oplist);
List<operations> ope = map.get(x);
for (Map.Entry<String, List<operations>> entry : map.entrySet()) {
String key = entry.getKey();
List<operations> value = entry.getValue();
System.out.println(value);
}
}
如所见,我有一个班级operations
,其中有不同的领域。在另一个名为 的方法execute
中,我以数组的形式将值添加到这些字段中。现在我从用户那里得到一个输入name
,我想在类/结构实现中搜索它并将流的相应值返回给用户。我知道我必须实现一个 Map 接口,但我该怎么做呢?当我尝试打印value
时,我得到otf.operations@3934f69a
Map Interface 的实现和 get 方法是否正确?我很困惑。请帮忙。
编辑该execute
方法的代码现在看起来像这样
public void execute(String x) {
Map<String,Operations> obs = new HashMap<String,Operations>();
for(int i=0; i< functi.size();i++){
Operations op = new Operations();
op.stream = str.get(i);
op.funct = functi.get(i);
op.funcgroup = functigroup.get(i);
op.name = nme.get(i);
op.source = src.get(i);
obs.put(op.name, op);
}
System.out.println(obs.get(x));
}