PTA用Java实现在一大堆数据中找出重复的是一件经常要做的事情。现在要处理许多整数,在这些整数中,可能存在重复的数据。 你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,输出“yes”这三个字母;如果没有,则输出“no”。 输入格式: 程序会读到n个整数的字符串【1<=n<=10000】,以空格分开,这些整数的范围是[1,10000]。 输出格式: 如果这些整数中存在重复的,就输出: yes 否则,就输出: no
时间: 2024-02-15 11:02:07 浏览: 115
好的,这是一个简单的问题,我可以帮你解决。你可以按照以下方式实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] arr = str.split(" ");
Set<String> set = new HashSet<String>();
for (String s : arr) {
if (set.contains(s)) {
System.out.println("yes");
return;
} else {
set.add(s);
}
}
System.out.println("no");
}
}
```
首先,我们使用`Scanner`类从标准输入读取字符串。然后,我们使用`split`方法将字符串拆分为整数数组。接下来,我们使用`HashSet`来存储整数数组中的元素,检查是否存在重复的元素。如果存在重复元素,则输出“yes”,否则输出“no”。
相关问题
去掉重复的数据pta java
可以使用Java中的Set集合来去重。具体步骤如下:
1. 将需要去重的数据存放到List集合中。
2. 创建一个Set集合,并将List集合中的数据全部添加到Set集合中。
3. 将去重后的数据再次存放到List集合中。
示例代码如下:
```java
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
list.add("d");
Set<String> set = new HashSet<>(list);
list.clear();
list.addAll(set);
System.out.println(list); // 输出结果:[a, b, c, d]
```
pta去掉重复的数据java
在Java中,如果你想要去除数组或集合(如List、ArrayList等)中的重复数据,有几种常见的方法可以实现:
1. **Set**:Java提供了一个Set接口,其中的元素都是唯一的,不会包含重复值。你可以将List转换为HashSet,因为HashSet不允许有重复元素。例如:
```java
List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "b", "d"));
Set<String> set = new HashSet<>(list);
```
现在`set`就包含了列表中没有重复项的内容。
2. **distinct() 或者 stream().distinct()**:对于Java 8及以上版本,你可以使用流(Stream) API的distinct()方法:
```java
List<String> list = ...;
list = list.stream()
.distinct()
.collect(Collectors.toList());
```
3. **使用HashMap**:由于HashMap底层是基于哈希表,键(key)不允许重复,所以也可以通过存储每个元素到map中并忽略已存在的键来去除重复:
```java
Map<String, Boolean> map = new HashMap<>();
for (String element : list) {
if (!map.containsKey(element)) {
map.put(element, true);
}
}
list.clear();
list.addAll(map.keySet());
```
阅读全文