我正在CacheBean中创建一个树结构,如下所示:
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();
但这不起作用。
如果你想要一个Vector
,它是
Vector<String> v = new Vector<>(CacheBean.treeMap.keySet());
编辑
但是正如Java API文档所述:
在Java 2平台v1.2中,这个类被改造为实现List接口,使其成为Java的成员集合框架。与新的集合实现不同,矢量是同步的。如果不需要线程安全的实现,建议使用ArrayList代替Vector。
你可能应该使用ArrayList
,它的工作原理是一样的,几乎任何Java Collection
类。