Java把集合放入地图

时间:2012-10-31 08:34:33

标签: java map set

将一组放入地图的最快方法是什么?

public class mySet<T> 
{
    private Map<T, Integer> map;

    public mySet(Set<T> set) 
    {
        Object[] array = set.toArray();

        for(int i =0; i< array.length; i++)
        {
            T v = (T)array[i];
            map.put(v, 1);
        }
    }
}

现在,我只是将set转换为数组并循环遍历数组并将它们逐个放入。有没有更好的方法呢?

2 个答案:

答案 0 :(得分:9)

一种选择是:

for (T value : set) {
  map.put(value, 1);
}

答案 1 :(得分:2)

最快的方法是将它放入一个新的Map中,而是创建自己的Map接口动态实现,动态地将请求委托给set实例。当然,只有当您需要Map的实时视图或该集合是不可变的时,这才有效。此外,根据您在Map上需要的API,这可能会成为很多工作,但是AbstractMap将在这里为您提供很多帮助。