数据结构之Set
来源:互联网 发布:美国登月真假 知乎 编辑:程序博客网 时间:2024/06/01 07:52
直接上JDK源码
Set<E>源代码
public interface Setextends Collection { int size(); boolean isEmpty(); boolean contains(Object o); Iterator iterator(); Object[] toArray(); T[] toArray(T[] a); boolean add(E e); boolean remove(Object o); boolean containsAll(Collection> c); boolean addAll(Collection extends E> c); boolean retainAll(Collection> c); boolean removeAll(Collection> c); void clear(); boolean equals(Object o); int hashCode(); @Override default Spliterator spliterator() { return Spliterators.spliterator(this, Spliterator.DISTINCT); }}
Collection<E>源代码
public interface Collectionextends Iterable { int size(); boolean isEmpty(); boolean contains(Object o); Iterator iterator(); Object[] toArray(); T[] toArray(T[] a); boolean add(E e); boolean remove(Object o); boolean containsAll(Collection> c); boolean addAll(Collection extends E> c); boolean removeAll(Collection> c); default boolean removeIf(Predicate super E> filter) { Objects.requireNonNull(filter); boolean removed = false; final Iterator each = iterator(); while (each.hasNext()) { if (filter.test(each.next())) { each.remove(); removed = true; } } return removed; } boolean retainAll(Collection> c); void clear(); boolean equals(Object o); int hashCode(); @Override default Spliterator spliterator() { return Spliterators.spliterator(this, 0); } default Stream stream() { return StreamSupport.stream(spliterator(), false); } default Stream parallelStream() { return StreamSupport.stream(spliterator(), true); }}
Iterable<E>源代码
public interface Iterable{ Iterator iterator(); default void forEach(Consumer super T> action) { Objects.requireNonNull(action); for (T t : this) { action.accept(t); } } default Spliterator spliterator() { return Spliterators.spliteratorUnknownSize(iterator(), 0); }}
Set的实现类:
NavigableSet<E>, SortedSet<E>, AbstractSet, ConcurrentHashMap.KeySetView, ConcurrentSkipListSet, CopyOnWriteArraySet, EnumSet, HashSet, JobStateReasons, LinkedHashSet, TreeSet
这里只说常用的HashSet、TreeSet
HashSet类
Java.util.HashSet类实现了Java.util.Set接口。它不允许出现重复元素;
不保证和政集合中元素的顺序
允许包含值为null的元素,但最多只能有一个null元素。
TreeSet类
TreeSet描述的是Set的一种变体——可以实现排序等功能的集合,它在讲对象元素添加到集合中时会自动按照某种比较规则将其插入到有序的对象序列中,并保证该集合元素组成的读uixiangxulie时刻按照“升序”排列。阅读全文
0 0
- c++ 数据结构之 set
- 数据结构set之HashSet
- 数据结构set之LinkedHashSet
- 数据结构之Set
- ES6之SET数据结构
- Python基础数据结构之set
- Python数据结构之集合Set
- Redis的数据结构之Set
- Python数据结构之——set
- STL map, STL set之数据结构基础
- STL MAP, STL SET之数据结构基础
- STL map, STL set之数据结构基础
- STL之map、set数据结构基础
- STL map, STL set之数据结构基础
- STL之map、set数据结构基础
- ECMAScript 6之Set和Map数据结构
- JavaScript之Set和Map数据结构
- ES6之Set和Map数据结构
- socket网络编程实现客户端和服务端通信
- lock 的易错点
- (转)机器学习中核函数的定义和作用是什么?
- Ip地址校验
- AngularJS $timeout和 $interval ,定时器手机验证码倒计时
- 数据结构之Set
- 商用流媒体解决方案
- Android 热修复 Tinker Gradle Plugin解析
- 欢迎使用CSDN-markdown编辑器
- Leetcode022. Generate Parenthesest
- 毕向东java上课笔记ArrayListTest2
- Android性能调优
- 双链表
- Heavy Transportation(POJ-1797)