【问题标题】:Java putting set into mapJava将集合放入地图
【发布时间】:2012-10-20 16:13:39
【问题描述】:

将一个集合放入地图的最快方法是什么?

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 转换为数组并循环遍历数组并将它们一一放入。有没有更好的方法来做到这一点?

【问题讨论】:

    标签: java map set


    【解决方案1】:

    一个选项是这样的:

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

    【讨论】:

    • 谢谢!一旦我可以接受,我就会接受
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多