使用<键,值> </键,值>的哈希映射

时间:2010-02-26 18:30:19

标签: java hashmap

我写道:

public interface Map <Key, Value> cells;

eclipse抱怨并说“{预期”。

public interface Map <Key, Value> cells{};

然后我在eclipse中写上面的内容并且它抱怨“令牌上的语法错误”单元格“,删除此令牌”。

我到底该怎么办?谷歌不是我的朋友,因为我找不到代码片段来解决这个问题的语法。

4 个答案:

答案 0 :(得分:4)

您是否尝试声明名为cells的成员变量?如果是这样,那么做的方法是:

public class Foo {

   // ...

   public Map<Type1, Type2> cells;

   // ...

}

如果您尝试在方法中声明变量,请执行以下操作:

public class Foo {

    // ...

    public void myMethod() {
        // ...

        Map<Type1, Type2> cells;

        // ...
    }

    // ...
}

编辑:您似乎对Map <Key, Value>感到困惑,所以我会尝试解释。

KeyMap对象将用于其键集的数据类型的占位符。同样,Value是数据类型的占位符,它将用于其值集。例如,有效组合为Map <String, Integer>。这意味着Map对象会将一组String个对象映射到一组Integer个对象。

答案 1 :(得分:4)

你可能意味着

public Map<Key, Value> cells;

interface关键字用于定义接口。声明实现implements的{​​{1}}时使用class

答案 2 :(得分:1)

你想做什么?定义新类型或定义Map类型的成员?

如果要定义成员,则不需要之前的interface关键字。 如果要定义新类型,则只需要接口。

答案 3 :(得分:1)

你想:

public Map<Key,Value> cells;

创建一个名为Map的单元格的变量。

public interface Map<Key,Value> cells;

声明(错误地)一个名为Map的用户定义接口 - 可能不是你想要做的。