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

如何在Java 7中使用集合文字?

强承望
2023-03-14
问题内容

我尝试了以下行:

Map<Character, Color> map={new Character('r'):Color.red,new Character('b'):Color.black};

但是Netbeans 7拒绝此操作,并显示错误消息'{' expected, ';' expected

我已将“源/二进制”格式设置为“ JDK 7”,将平台设置为“ JDK 1.7”,我还需要做其他事情吗?


问题答案:

正如这个问题所讨论的,Java 7和Java 8都不支持集合文字:ProjectCoin的集合增强功能是否将在JDK8中使用?

如果只需要不可变的集合,则可以使用Google的Guava库。ImmutableListImmutableSet并且ImmutableMap具有多个重载的工厂方法甚至生成器,它们使创建集合变得容易:

List<Integer> list = ImmutableList.of(1, 1, 2, 3, 5, 8, 13, 21);
Set<String> set = ImmutableSet.of("foo", "bar", "baz", "batman");
Map<Integer, String> map = ImmutableMap.of(1, "one", 2, "two", 3, "three");

编辑

Java 9添加了类似于Guava的collection工厂方法:

List.of(a, b, c);
Set.of(d, e, f, g);
Map.of(k1, v1, k2, v2)

Map.ofEntries(
    entry(k1, v1),
    entry(k2, v2),
    entry(k3, v3),
    // ...
    entry(kn, vn)
);


 类似资料:
  • 如何使用将单个集合从一个数据库移动到另一个数据库? 我应该如何使用该命令及其选项?

  • 我得到了一个对象,它实现了

  • 我通过Macports在Mavericks上安装了maven3。它工作得很好,但使用的是Java1.6。我怎样才能改用Java7呢? 这两个java路径有什么区别? /系统/库/Java/JavaVirtualMachines

  • 问题内容: 除了a 和Java 可以两次包含相同的元素外,a 和Java 之间在实践上还有什么区别吗?它们具有相同的方法。 (例如,是否给我更多选择来使用接受s但不接受s的库?) 编辑: 我可以认为至少有5种不同的情况来判断这个问题。其他人还能提出更多建议吗?我想确保我了解这里的微妙之处。 设计接受或参数的方法。更通用,并接受更多输入可能性。(如果我正在设计特定的类或接口,那么对我的消费者会更好,

  • 我是第一次使用MongoDB,我对NoSQL数据库有一些经验。 我想在文档中创建一个集合。我无法使用MongoDB复制这种行为,因为我在文档中找不到代码。请问这种行为可能吗? 提前谢谢。

  • 本文向大家介绍如何使用Java从集合中删除多个文档?,包括了如何使用Java从集合中删除多个文档?的使用技巧和注意事项,需要的朋友参考一下 在Java中,com.mongodb.client.MongoCollection接口提供了方法deleteMany()。使用此方法,您可以一次从集合中删除多个文档,为此,您需要通过指定删除条件的过滤器。 示例 输出结果