Map有2个方法分别取到KEY的集合和VALUE的集合:
keySet()
values()
取到的分别是一个SET和Collection
它们都有:toArray() 方法,来获得相应的对象数组。
如果你的KEY和VALUE都是STRING类型的话,可以进行强制类型转换获得STRING数组。
keySet()
values()
取到的分别是一个SET和Collection
它们都有:toArray() 方法,来获得相应的对象数组。
如果你的KEY和VALUE都是STRING类型的话,可以进行强制类型转换获得STRING数组。
如:
HashMap hash=new HashMap();
String[] tmp=new String(hash.keySet().toArray());就可以得到了吗?呵呵,试试!
String[] tmp=new String(hash.keySet().toArray());第二句好象有点错吧。。
这不是强制转换。
String[] tem = (String[])(hash,keySet().toArray())
类转换错误!
查看JDK吧
不是的话怎么可能转??
你的对象不是STRING的你要STRING有什么用?
想VALUE转STRING,那么所有VALUE都应该是STRING。
String[] str = new String[tem.length];
for(int i = 0; i<tem.length; i++)
{
str[i] = tem[i].toString();
}
Collection keySet = hash.keySet();
String[] tmp = new String[keySet.size()];
keySet.toArray(tmp);
或:
HashMap hash=new HashMap();
String[] tmp = hash.keySet().toArray(new String[0]);
String[] tmp = (String[]) hash.keySet().toArray(new String[0]);
int length=hash.size();
String[] tmp=new String[length];
Object[] key=hash.keyset.toArray();
for(int i=0;i<length;i++){
tmp[i]=(String)key[i];
}