Maison >Java >javaDidacticiel >Comment pouvons-nous implémenter un HashSet personnalisé en Java ?
HashSet implémente l'interface Set, qui n'autorise pas les valeurs en double . HashSet est désynchronisé et pas thread-safe. Lorsque nous pouvons ajouter un élément en double à HashSet, la méthode add() renvoie false et les éléments en double ne peuvent pas être ajoutés à HashSet.
Syntaxe
public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable
Dans l'exemple ci-dessous, nous pouvons implémenter un HashSet personnalisé.
import java.util.*; public class CustomHashSetTest extends AbstractSet<object> { private HashMap<Object, Object> map = null; private static final Object tempObject = new Object(); public CustomHashSetTest() { map = new HashMap<>(); } public boolean add(Object object) { return map.put(object, tempObject)==null; } public static void main(String[] args) { CustomHashSetTest test = new CustomHashSetTest(); test.add("India"); test.add("Australia"); test.add("England"); test.add("Australia"); for(Object object : test) { System.out.println(object.toString()); } } @Override public Iterator<object> iterator() { return map.keySet().iterator(); } @Override public int size() { return map.size(); } } </object></object>
England Australia India
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!