0

我是Java的初学者。我读到structsC 中的类类似于 Java 中的类,但我有以下疑问。

我有一堂课如下:

public class operations {
    public Integer[] stream;
    public Integer[] functi;
    public String[] name;
    public Integer[] funcgroup;
}

我从用户那里得到一个输入,name并将其与类中的名称数组进行比较,如果匹配,我想返回与名称对应的所有其他字段的记录。

例如。如果 name 对应String[5], 那么我想输出所有对应 [5]..ie 的记录stream[5], functi[5], functigroup[5].

我怎样才能做到这一点?

编辑现在我的程序如下所示:

public class operations extends DefFunctionHandler {
public ArrayList<Integer> stre = null;
public ArrayList<Integer> functii = null;
public ArrayList<String> nmee = null;
public ArrayList<Integer> funcigroup = null;
public ArrayList<Integer> sourcee = null;

public void filter(String x){
    DefFunctionHandler defi = new DefFunctionHandler();
    functii = defi.getFunc();
    stre = defi.getStream();
    nmee = defi.getName();
    funcigroup = defi.getFuncgroup();
    sourcee = defi.getSource();

    Map<String, operations> map = new HashMap<String, operations>();
    operations operations = new operations(0, 0, x, 0, 0);
    map.put(x, operations); 
    operations op = map.get("flush");
    System.out.println(op.toString());

}

我收到一条消息,说我必须为带有参数的操作声明一个构造函数(int,int,string,int,int)。谁能告诉我我的 Map 接口实现是否正确?

4

1 回答 1

5

您应该将操作对象存储到 Map

映射与键/值一起使用,您将 id 放入映射中,您可以检索相应的键。

在您的示例中,使用类 Operation :

public class Operation { 
    public int stream;
    public int functi;
    public name; 
    public int funcgroup;
}

和这样的地图:

Map<String, Operation> map = new HashMap<String, Operation>();
Operation operation = new Operation(0,0,"name5", 0);
map.put("name5", operation);

您可以使用以下命令检索您的 Operation 对象:

Operation op = map.get("name5");
于 2013-06-10T16:48:31.670 回答