在Java 8中,检查List是否包含重复项的最佳方法是什么?
我的想法是这样的:
list.size() != list.stream().distinct().count()
这是最好的方法吗?
您的代码将需要遍历所有元素。如果要确保没有重复的简单方法,例如
public static <T> boolean areAllUnique(List<T> list){
Set<T> set = new HashSet<>();
for (T t: list){
if (!set.add(t))
return false;
}
return true;
}
会更有效,因为它可以false
在找到第一个非唯一元素时立即为您提供。
此方法也可以重写为(假设非并行流和线程安全的环境),使用Stream#allMatch
该方法也很短路(对于不满足所提供条件的第一个元素,立即返回false)
public static <T> boolean areAllUnique(List<T> list){
Set<T> set = new HashSet<>();
return list.stream().allMatch(t -> set.add(t));
}
public static <T> boolean areAllUnique(List<T> list){
return list.stream().allMatch(new HashSet<>()::add);
}
我的想法是: 是最好的办法吗?
我想确定C 11中是否存在一个文件 我有以下代码: 和 哪一个是正确的和惯用的?
我使用POST方法提交表格。表单有一个输入字段:。 我试图检查参数是否存在: 但它不起作用
问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: MySQL检查表是否存在而不会引发异常 我的项目中有一个动态mysql查询生成器,可从不同的表创建选择查询。 我需要检查当前处理表是否存在。 假设我的表是table1,table2和table3。我的代码是这样的: 我该如何进行检查(请告诉我最简单的方法)。 问题答案: 更新的mysqli版本: 原始mysql版本: 从PHP
问题内容: 如果该元素是通过方法创建的,如何检查该元素是否存在? 对我不起作用。 问题答案: 对我不起作用。 您需要在元素ID之前添加: 使用香草JavaScript,不需要例如hash(),但是使用jQuery时,确实需要像基于CSS一样将哈希放入目标元素。
我有一个js对象,如下所示。 我现在的代码是。 我的问题是我的代码可以有的值,但是如果在这种情况下我做了然后我就得到了现实。 如何确保我的数据具有和,以及可以具有值。 jsfiddle:https://jsfiddle.net/3jo7vx4p/ 我们衷心感谢您的帮助。