2014-01-13 46 views
0

我型我的哈希表:如何将HashMap转换为自己的类型数组?

private HashMap<String, HashMapObject> likesYearHashMap; 

其中HashMapObject:

public class HashMapObject { 

private int count; 
private String id; 

public HashMapObject(int count, String id) { 
    super(); 
    this.count = count; 
    this.id = id; 
} 

}

如何将值转换成我的HashMap来HashMapObject []数组?

我得到的错误cast getting likesYearHashMap.values();

+2

'Map#values()'返回一个'Collection'。迭代它并将其元素添加到您的数组中。 –

回答

2

像这样:

map.values().toArray(new HashMapObject[map.size()]) 
1
likesYearHashMap.values().toArray (new HashMapObject[likesYearHashMap.size()]) 
0

感谢@Vakh和@NinChimpsky我发布完整的解决方案:

转换成数组:

HashMapObject[] array = new HashMapObject[likesYearHashMap.size()]; 
likesYearHashMap.values().toArray(array); 

要转换到ArrayList的

Collection<HashMapObject> values = likesYearHashMap.values(); 
ArrayList<HashMapObject> arrayList= new ArrayList<HashMapObject>(values); 
相关问题