如何在 Java 中實現自定義 HashSet?
HashSet 實現 Set 介面,該介面不允許重複值。HashSet 不是同步的,也不是執行緒安全的。當我們將任何重複元素新增到 HashSet 時,add() 方法會返回 false,並且不允許將重複元素新增到 HashSet 中。
語法
public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable
在下面的示例中,我們可以實現自定義 HashSet。
示例
import java.util.*;
public class CustomHashSetTest extends AbstractSet {
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 iterator() {
return map.keySet().iterator();
}
@Override
public int size() {
return map.size();
}
}
輸出
England Australia India
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP