gpt4 book ai didi

Java从数组中删除重复项?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:58:42 24 4
gpt4 key购买 nike

我应该读入一个包含许多不同电子邮件地址的文件,并使用数组将它们打印出来。问题是我需要消除重复的电子邮件。

我能够让我的 try/catch 工作并打印出电子邮件地址。但是,我不确定如何删除重复项。我还不了解哈希码或如何使用 Set。如有任何帮助,我们将不胜感激。

这是我目前所拥有的:

import java.util.Scanner;
import java.io.*;

public class Duplicate {
public static void main(String[] args) {

Scanner keyboard = new Scanner(System.in);
System.out.println("Enter file name: ");
String fileName = keyboard.nextLine();
if (fileName.equals("")) {
System.out.println("Error: User did not specify a file name.");
} else {
Scanner inputStream = null;

try {
inputStream = new Scanner(new File(fileName));
} catch (FileNotFoundException e) {
System.out.println("Error: " + fileName + " does not exist.");
System.exit(0);
}

String[] address = new String[100];

int i = 0;
while (inputStream.hasNextLine()) {
String email = inputStream.nextLine();
// System.out.println(email);

address[i] = email;
System.out.println(address[i]);
i++;
}
}
}
}

最佳答案

简单的解决方案是使用 Java 的 Set,

所以设置自动删除重复值

在你的代码中你有数组而不是转换数组直接使用代码设置

Set<T> mySet = new HashSet<T>(Arrays.asList(someArray));

关于Java从数组中删除重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10056729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com