从TreeMap获取键的向量[keySet()]

时间:2016-08-12 20:41:38

标签: java tree xpages

我在CacheBean中创建一个Tree结构,如下所示:

private TreeMap<String,Object> locations = new TreeMap<String,Object>();

所以一点数据看起来像这样:

ThisKey=[Chris,Jim,Rick,David]

我希望用户从密钥列表中进行选择。但是如果我将TreeMap直接绑定到字段,我会收到一个错误:

javax.faces.FacesException: java.util.TreeMap incompatible with java.util.List

如何获取用作选项列表的键的向量?我试过用

CacheBean.treeMap.keySet();

但这不起作用。

1 个答案:

答案 0 :(得分:3)

如果您想要Vector,那么

Vector<String> v = new Vector<>(CacheBean.treeMap.keySet());

修改

但正如Java API documentation所述:

  

从Java 2平台v1.2开始,这个类被改装为   实现List接口,使其成为Java的成员   馆藏框架。与新的集合实现不同,   矢量是同步的。如果不需要线程安全的实现,   建议使用ArrayList代替Vector。

您可能应该使用ArrayList,它的工作方式与几乎所有Java Collection类一样。