java判断list是否有相同的值
时间: 2023-06-03 08:06:19 浏览: 511
可以使用Set来判断List中是否有相同的值。首先将List添加到Set中,如果Set的大小小于List的大小,则说明List中有相同的值。代码示例:
List<Integer> list = new ArrayList<>();
Set<Integer> set = new HashSet<>();
list.add(1);
list.add(2);
list.add(3);
list.add(1);
set.addAll(list);
if(set.size() < list.size()) {
System.out.println("List中有相同的值");
} else {
System.out.println("List中没有相同的值");
}
相关问题
java判断list中某个字段是否有某个值
可以使用 Java 的流式 API,先将集合转换为流,然后使用 anyMatch() 方法判断是否有某个字段的值等于给定的值。示例代码如下:
```
boolean isExist = list.stream().anyMatch(item -> item.getField().equals(value));
```
其中,list 是要判断的集合,item.getField() 是要判断的字段,value 是给定的值。如果存在满足条件的元素,isExist 的值为 true,否则为 false。
java List判断某个字段是否有重复的值
可以使用Java 8的Stream API来实现。假设你有一个List<Person> persons,其中Person类有一个字段name,你想判断是否存在重复的name值,可以这样做:
```java
boolean hasDuplicateNames = persons.stream()
.map(Person::getName)
.distinct()
.count() != persons.size();
```
这段代码使用stream()方法将List转换为Stream,然后使用map()方法将Person对象转换为name字段的值,再使用distinct()方法去重,最后使用count()方法统计去重后的数量。如果去重后的数量小于等于List的大小,说明存在重复的name值。将这个判断值赋给hasDuplicateNames即可。
需要注意的是,这种方法只能判断某个字段是否有重复的值,但无法得知哪些值是重复的。如果需要知道具体的重复值,可以使用Java 8的Collectors.groupingBy()方法进行分组,然后遍历Map进行判断。