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

Java Stream API:身份函子有语法糖吗?

澹台志诚
2023-03-14
问题内容

我们Map在对象列表中使用多个简单内存DB:

class Person {
    public String id;
    public String phone;
    public String email;
    // and get/set and other fields...
}

List<Person> persons;
Map<String, Person> emailLookup = persons.stream()
        .collect(Collectors.toMap(Person::getEmail, p -> p));
Map<String, Person> phoneLookup = persons.stream()
        .collect(Collectors.toMap(Person::getPhone, p -> p));
Map<String, Person> idLookup = persons.stream()
        .collect(Collectors.toMap(Person::getId, p -> p));

Java SE中是否有语法糖或内置函子可以替换p -> p为其他语法 ?


问题答案:

您可以使用,Function.identity()但是如果您想简短一点,那么我认为您不会击败现有的p -> p



 类似资料:
  • render函数在setup语法糖情况下不调用

  • 本文向大家介绍Python装饰器语法糖,包括了Python装饰器语法糖的使用技巧和注意事项,需要的朋友参考一下 Python装饰器语法糖代码示例 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接

  • 本文向大家介绍C# using语法糖图文详解,包括了C# using语法糖图文详解的使用技巧和注意事项,需要的朋友参考一下 前言 什么是语法糖? (语法糖就是像糖一样的语法…) 语法糖(Syntactic sugar),又名糖衣语法,最早是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的。 通俗点来讲就是简化后的语法,但是其效果和原先语法是一样的,只是更方便我们程序员使用

  • Java 的语法比 C/C++ 友好很多, 因为它设计之初,就是为了考虑到程序员的使用是否舒适。 当然很多事情愿望是美好的,现实是残酷的。Java 语言本身的语法仍然不可避免的带有着 10年前那种 的僵硬和严谨。这里是一些小小的尝试,你会发现,大多数情况,通过一些静态函数,一行代码完全 可以做很多事情, 而且比“甜甜”的 Ruby 也差不了太多。 你可以查看 org.nutz.lang Git@O

  • 问题内容: 我正在将数据从一个数据库迁移到另一个数据库。我的脚本已经大部分在一起了,但是我试图找出对新数据库中的表进行一次更改的最佳方法。 我有一张桌子。该表具有一列,即身份列。我想将标识种子/增量从(1,1)更改为(200,1),而无需更改将要插入表中的现有数据的customer_id。 旧数据是101-108。基本上,我们希望保持旧数据不变,以便与其他系统中的旧记录匹配,但我们希望新数据从20