使用Java语言创建javautilSet接口的实现类
可以使用Java语言创建java.util.Set接口的实现类,以下是一个示例:
import java.util.*;
public class MySet<E> implements Set<E> {
private List<E> elements;
public MySet() {
elements = new ArrayList<>();
}
@Override
public int size() {
return elements.size();
}
@Override
public boolean isEmpty() {
return elements.isEmpty();
}
@Override
public boolean contains(Object o) {
return elements.contains(o);
}
@Override
public Iterator<E> iterator() {
return elements.iterator();
}
@Override
public Object[] toArray() {
return elements.toArray();
}
@Override
public <T> T[] toArray(T[] a) {
return elements.toArray(a);
}
@Override
public boolean add(E e) {
if (!elements.contains(e)) {
elements.add(e);
return true;
}
return false;
}
@Override
public boolean remove(Object o) {
return elements.remove(o);
}
@Override
public boolean containsAll(Collection<?> c) {
return elements.containsAll(c);
}
@Override
public boolean addAll(Collection<? extends E> c) {
boolean modified = false;
for (E e : c) {
if (add(e)) {
modified = true;
}
}
return modified;
}
@Override
public boolean retainAll(Collection<?> c) {
return elements.retainAll(c);
}
@Override
public boolean removeAll(Collection<?> c) {
return elements.removeAll(c);
}
@Override
public void clear() {
elements.clear();
}
}
这个示例中,我们创建了一个名为MySet的类,实现了Set接口。MySet类内部使用ArrayList来存储元素。我们实现了Set接口中的所有方法,并在add方法中添加了去重的逻辑,保证集合中不会有重复元素。
使用这个实现类的示例代码如下:
Set<Integer> set = new MySet<>();
set.add(1);
set.add(2);
set.add(3);
System.out.println(set.size()); // 输出: 3
System.out.println(set.contains(2)); // 输出: true
set.remove(2);
System.out.println(set.size()); // 输出: 2
这个示例展示了如何使用MySet类来创建一个Set实例,并进行一些常见的操作,如添加元素、判断元素是否存在、移除元素等。
原文地址: https://www.cveoy.top/t/topic/iaGf 著作权归作者所有。请勿转载和采集!