java中集合选取怎么选
 有时有人认为Optional类型值得在集合中使用。 据称,它解决了以下问题: HashMap在没有键映射以及值null映射到键的情况下返回null 。 如果使用Map<Optional<Something>>则可以清楚地区分缺少的映射和缺少的值。 这样一来,您在兔子洞中的位置会更深一层。 
首先:
您可以
 告诉一个键是否映射为null或不使用Optional不映射。 有方法containsKey() 。 这是又一个方法调用,用于将非映射键与映射的null值分开。 但是,调用Optional的方法也是。 那有什么意义呢? 另一方面 
你不需要
 判断键是否已映射为null或缺少映射。 如果两种情况下您的程序代码不同,则您以错误的方式创建了用于企业登录的代码。 这肯定是代码的味道。 将null视为“什么都没有”,而不是“将null分配给键'aaaaaarrghhh'”,而是大声说:什么都没有分配给键'aaaaaarrghhh'。 你看? 除了所有人现在都在办公室里看着您之外,没有任何区别。 
 并在Map使用optional作为值 
你会
 过一会儿,在兔子洞中将其深一层。 代码过着独立的生活。 开发它的不仅是您自己。 在大型组织中,有一些开发人员肯定在代码编写时就醉了。 (这是某些代码的唯一合理解释。)它们很快就会用以下命令填充您的Map<Optional<Something>> 
-  null值,
-  缺少Optional值
-  甚至带有包装其他内容但不包含“ Something”的Optional对象。
 有时,如果幸运的话,您甚至可能会发现一些非null ,不存在的Optional<Something>值。 
翻译自: https://www.javacodegeeks.com/2015/08/optional-in-collections.html
java中集合选取怎么选