私はJavaにかなり慣れていないので、次の問題を解決しようとして失敗しました。
指定されたリストから重複を削除する Java メソッドを作成します。
仮定:
- メソッドは List 型を受け入れます
- リターンタイプは
void
- 重複は次を使用して決定されます
equals()
主要:
- リストのインスタントを作成し、重複する文字列値でロードします
- を呼び出し
removeDuplicates()
、このリストを渡します - 変更されたリストをコンソールに出力します。
リストを新しい HashSet に渡してコピーすることで、問題を解決できます。しかし、問題は次のとおりです。
- 質問は私にそれを解決するように求めています
equals()...
- 戻り値の型が の場合
void
、どのように出力できmain
ますか?
import java.util.*; 公開クラス 質問1 {
public static void main(String[] args) {
String[] words = {"good","better", "best", "best", "first" , "last", "last", "last", "good"};
List<String> list = new ArrayList<String>();
for (String s : words) {
list.add(s);
}
removeDuplicates(list);
}
static void removeDuplicates(List<String> array){
HashSet<String> hs = new HashSet<>();
hs.addAll(array);
array.clear();
array.addAll(hs);
for (String x : array){
System.out.println(x);
}
}
}
編集:まあ、これは機能しますが、ご覧のとおり、equals() を使用しておらず、main からではなく静的メソッドから出力しています。また、 String[] を使用するよりも速く List を作成する方法はありますか?