Java 从树映射[keySet()]获取关键点的向量

Java 从树映射[keySet()]获取关键点的向量,java,tree,xpages,Java,Tree,Xpages,我正在CacheBean中创建一个树结构,如下所示: private TreeMap<String,Object> locations = new TreeMap<String,Object>(); 我想让用户从密钥列表中进行选择。但是如果我将树映射直接绑定到字段,我会得到一个错误: javax.faces.FacesException: java.util.TreeMap incompatible with java.util.List 我怎样才能得到一个键向量来用

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

private TreeMap<String,Object> locations = new TreeMap<String,Object>();
我想让用户从密钥列表中进行选择。但是如果我将树映射直接绑定到字段,我会得到一个错误:

javax.faces.FacesException: java.util.TreeMap incompatible with java.util.List
我怎样才能得到一个键向量来用作选择列表?我试着用

CacheBean.treeMap.keySet();

但这不起作用

如果你想要一个
向量
它就是

Vector<String> v = new Vector<>(CacheBean.treeMap.keySet());
Vector v=新向量(CacheBean.treeMap.keySet());
编辑

但正如各国所说:

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


您可能应该使用
ArrayList
,在那里它的工作原理与几乎任何Java
集合
类一样。

新的ArrayList(CacheBean.treeMap.keySet())
会给你一个列表…为什么你想要一个列表而不是集合?不要使用
java.util.Vector
。它从1998年就过时了。您使用Java编程有多长时间了?Lew-Shally向量仍然在IBM API技术的某些部分大量使用。我们别无选择,我们需要用他们一些东西。卢,大卫是对的。事实上,我已经很久没有用Java编程了。边学习边学习,不幸的是,我不得不受到IBM的限制。
Vector<String> v = new Vector<>(CacheBean.treeMap.keySet());