当前位置: 首页 > 面试题库 >

更好的地图构造器

尉迟俊能
2023-03-14
问题内容

是否有更简化的方法来执行以下操作?

Map<String, String> map = new HashMap<String, String>();
map.put("a", "apple");
map.put("b", "bear");
map.put("c", "cat");

我正在寻找更接近这个的东西。

 Map<String, String> map = MapBuilder.build("a", "apple", "b", "bear", "c", "cat");

问题答案:

不,没有,但是受Objective-C NSDictionary类的启发,我写了一种方法来做到这一点:

public static Map<String, Object> mapWithKeysAndObjects(Object... objects) {

    if (objects.length % 2 != 0) {
        throw new IllegalArgumentException(
                "The array has to be of an even size - size is "
                        + objects.length);
    }

    Map<String, Object> values = new HashMap<String, Object>();

    for (int x = 0; x < objects.length; x+=2) {
      values.put((String) objects[x], objects[x + 1]);
    }

    return values;

}


 类似资料:
  • 本文向大家介绍Google 地图API Map()构造器详解,包括了Google 地图API Map()构造器详解的使用技巧和注意事项,需要的朋友参考一下 地图 API Map() 构造器 实例 创建一个 Google 地图: 定义和用法 Map() 构造器创建了一个新的地图并插入到指定的HTML元素中(<div> 元素)。 语法 new google.maps.Map(HTMLElement,M

  • 比如说,我做了如下事情: 其中通过几层代码间接地为

  • GraphX提供了几种方式从RDD或者磁盘上的顶点和边集合构造图。默认情况下,没有哪个图构造者为图的边重新分区,而是把边保留在默认的分区中(例如HDFS中它们的原始块)。Graph.groupEdges 需要重新分区图,因为它假定相同的边将会被分配到同一个分区,所以你必须在调用groupEdges之前调用Graph.partitionBy object GraphLoader { def ed

  • 当我读到围棋中的片段时,它们似乎足够合理。我知道切片结构具有基于底层数组和当前包含元素长度的容量,并且切片引用底层数组。 然而,当我在玩Go的“Go之旅”时,我不明白为什么下面的内容会降低底层阵列的容量。 结果: 为什么在第一次和第二次调用之间容量发生变化?

  • 问题内容: 我有两个不同形状的numpy数组,但是长度(引导尺寸)相同。我想对它们中的每一个进行混洗,以使相应的元素继续对应-即相对于其前导索引一致地对它们进行混洗。 该代码有效,并说明了我的目标: 例如: 但是,这感觉笨拙,效率低下且速度慢,并且需要复制数组-我宁愿就地对它们进行混洗,因为它们会很大。 有没有更好的方法来解决这个问题?更快的执行速度和更低的内存使用是我的主要目标,但是优雅的代码也