次のコードは何をしますか? LinkedHashSet
を に置き換えることはできますHashSet
か?
public class CollectionFunction {
public <E> List<E> function(List<E> list) {
return new ArrayList<E>(new LinkedHashSet<E>(list));
}
}
次のコードは何をしますか? LinkedHashSet
を に置き換えることはできますHashSet
か?
public class CollectionFunction {
public <E> List<E> function(List<E> list) {
return new ArrayList<E>(new LinkedHashSet<E>(list));
}
}
次のコードは何をしますか?
順序を変更せずにリストから重複を削除するために使用されているようです
LinkedHashSet を HashSet に置き換えることはできますか?
いいえ、注文は保証されません (#2)
セットは、順序付けされていないアイテムのコレクションであり、リストは含まれているアイテムの順序を保持する必要があります。HashSet
アイテムの順序が保存されていないため、リストのようなセットを使用してリストを実装することはできません。リンクされたハッシュセットは、これらの情報を格納します。
この関数は、重複する要素を削除し、挿入順序を維持しています。
a,b,c,d,a
入力として与えるとa,b,c,d
、出力として得られます。
はい、できます
挿入順序が必要ない場合は、LinkedHashSet を HashSet に置き換えます。
b,c,d,a
LinkedhashSet を HashSet に置き換えると、出力は次のようになります。
Listインターフェイスを実装するオブジェクトからArrayListを作成します。ArrayListクラスには、コレクションを取得するコンストラクタがあります 。http: //docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html HashSetがコレクション http://を実装しているかどうかを検索する必要があります。 docs.oracle.com/javase/7/docs/api/java/util/Collection.html。また、HashSetが対応するコンストラクターを提供するかどうかを検索する必要があります。HashSetは両方の要件を満たしているので、置き換えることができます:-)。