ホームページ >Java >&#&チュートリアル >Java で配列から重複する電子メールを削除するにはどうすればよいですか?

Java で配列から重複する電子メールを削除するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-13 05:36:02201ブラウズ

How to Remove Duplicate Emails from an Array in Java?

配列内の重複電子メールの削除

ファイルから重複電子メールを読み取るときに、配列から重複電子メールを削除したいと考えています。これを実現するために Set を使用してコードを修正したバージョンを次に示します。

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

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);
         }

         // Use a Set to automatically remove duplicate values
         Set<String> emailAddresses = new HashSet<>();

         while (inputStream.hasNextLine()) {
            String email = inputStream.nextLine();
            // Add email to the Set, which ignores duplicates
            emailAddresses.add(email);
         }

         // Print the unique email addresses
         for (String email : emailAddresses) {
            System.out.println(email);
         }
      }
   }
}

このコードでは:

  1. HashSet を使用して emailAddresses という名前の Set を作成します。 Set は、重複する値を自動的に削除するコレクションです。
  2. 以前と同様にファイルから電子メールを読み取ります。
  3. 電子メールを配列に保存する代わりに、電子メールを emailAddresses Set に追加します。 add() メソッド。
  4. これにより、重複する電子メールが Set から削除されます。
  5. 最後に、Set を反復処理して、一意の電子メール アドレスを出力します。

以上がJava で配列から重複する電子メールを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。