1

入力から重複を削除しようとしています。ArrayList、LinkedList、Hash セットなどを使用して、これを行う方法は多数あります。入力が say{"apple", "ball", "apple", "cat"} として指定されている場合、これを行う方法を知っています。問題で。しかし、スキャナークラスを使用して入力を取得し、文字の重複を削除したり、重複した単語を削除したりしたいと考えています。これを行う簡単な方法はありますか。以前のシナリオの作業コードを含めました。

public static void main(String[] args) {
        // TODO code application logic here

        Scanner scan= new Scanner(System.in);
        String[] str= {"a", "b", "c", "a"};
        System.out.println("enter text");
        List<String> l= 
                Arrays.asList(str);
        System.out.println(l);
        Set<String> set= new HashSet<String>(l);
        System.out.println(set);
    }
4

1 に答える 1

1

以下は、各単語を読み取り、それをハッシュセットに追加します(これにより、あなたが見つけた重複が自動的に削除されます)、単語が ! セットを印刷します。

    Scanner scan= new Scanner(System.in);
    HashSet<String> set = new HashSet<String>();
    String s;
    while (!(s = scan.next()).equals("!")) {
        set.add(s);
    }
    System.out.println(set);
于 2013-02-19T00:04:36.280 に答える