Java从数组中删除重复? [英] Java Remove Duplicates from an Array?

查看:148
本文介绍了Java从数组中删除重复?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



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



这是我到目前为止所有的:

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

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

扫描仪键盘=新的扫描仪(System.in);
System.out.println(输入文件名:);
String fileName = keyboard.nextLine();
if(fileName.equals()){
System.out.println(错误:用户未指定文件名。
} else {
扫描器inputStream = null;

try {
inputStream = new Scanner(new File(fileName));
} catch(FileNotFoundException e){
System.out.println(Error:+ fileName +不存在。
System.exit(0);
}

String [] address = new String [100];

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

地址[i] =电子邮件;
System.out.println(address [i]);
i ++;
}
}
}
}


解决方案

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



所以设置自动删除重复值



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

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


I am supposed to read in a file containing many different email addresses and print them out using an array. The problem is I need to eliminate duplicate emails.

I was able to get my try / catch working and print out the email addresses. However, I am not sure how to go about removing the duplicates. I do not have an understanding of hashcode's or how to use a Set yet. Any assistance would be appreciated.

Here is what I have so far:

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

解决方案

The Simple solution is that use Set of java,

so set remove duplicate value automatically

and in your code you have array than convert array to set directly using code

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

这篇关于Java从数组中删除重复?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆