我在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();
但这不起作用。
答案 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
类一样。