如何自定义Java集合的交集逻辑

avatar
作者
猴君
阅读量:0

要自定义Java集合的交集逻辑,您可以创建一个实现了 Collection 接口的自定义集合类,并重新实现其 intersection() 方法。以下是一个示例:

import java.util.Collection; import java.util.HashSet; import java.util.Set;  public class CustomCollection<E> implements Collection<E> {     private Set<E> elements = new HashSet<>();      @Override     public boolean add(E e) {         return elements.add(e);     }      @Override     public boolean remove(Object o) {         return elements.remove(o);     }      @Override     public boolean contains(Object o) {         return elements.contains(o);     }      @Override     public int size() {         return elements.size();     }      @Override     public boolean isEmpty() {         return elements.isEmpty();     }      @Override     public boolean containsAll(Collection<?> c) {         return elements.containsAll(c);     }      @Override     public boolean addAll(Collection<? extends E> c) {         return elements.addAll(c);     }      @Override     public boolean removeAll(Collection<?> c) {         return elements.removeAll(c);     }      @Override     public boolean retainAll(Collection<?> c) {         return elements.retainAll(c);     }      @Override     public void clear() {         elements.clear();     }      public Set<E> intersection(Collection<E> c) {         Set<E> result = new HashSet<>(elements);         result.retainAll(c);         return result;     } } 

在上面的示例中,我们自定义了一个 CustomCollection 类,实现了 Collection 接口,并添加了一个 intersection() 方法来获取自定义集合与另一个集合的交集。您可以根据自己的需求来定义交集逻辑。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!