Collection

Collection Framework成员如下

  1. Collection
  2. Set
  3. List
  4. Map
  5. SortedSet
  6. SortedMap
  7. HashSet
  8. TreeSet
  9. ArrayList
  10. LinkedList
  11. Vector
  12. Collections
  13. Arrays
  14. AbstractCollection
Collection.png
public interface Collection extends Iterable {
    // 查询操作

    /**
     * 返回集合中的元素个数。如果集合中元素的个数超过Integer.MAX_VALUE
     * 个,则返回Integer.MAX_VALUE
     */
    int size();

    /**
     * 判断集合是否包含元素
     */
    boolean isEmpty();

    /**
     * 判断集合是否包含指定的值
     */
    boolean contains(Object o);

    /**
     * 返回集合中元素的迭代器。不保证元素的顺序(除非这个集合提供了这个保证)
     */
    Iterator iterator();

    /**
     * 返回包含集合元素的数组。如果集合本身有顺序保证,那么数组也会
     * 处于同样的顺序。
     * 返回的数组处于“安全”状态,因为原来的集合中没有对它维护任何应用。
     * 换句话说,这个方法必须分配一个新的数组,即使这个集合是由一个数组
     * 来进行存储的。
     */
    Object[] toArray();

  
    /*
     *    String[] y = x.toArray(new String[0]);
* toArray(new Object[0])和toArray()功能相同 */ T[] toArray(T[] a); // 修改操作 /** * 确保集合包含指定的元素(可选操作)。 * 如果返回ture,意味着调用后集合发生了改变 * 如果返回false,意味着集合不允许重复并且已经包含了已指定的值。 * * 集合通过支持这种操作为添加元素增加一些限制。 * 某些集合不允许添加null值,还有一些对添加的数据类型有要求。 */ boolean add(E e); /** * 如果指定的元素在集合中存在,则从集合中删除该元素。 */ boolean remove(Object o); // 批量操作 /** * 如果集合包含指定的集合中的所有元素,则返回true */ boolean containsAll(Collection c); /** * 将指定的集合中的所有的元素添加进当前集合 */ boolean addAll(Collection c); /** * 删除集合中与指定集合相同的元素。 */ boolean removeAll(Collection c); /** * 删除满足传入的函数表达式的集合中的元素 */ default boolean removeIf(Predicate 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(); // Comparison and hashing /** * 指定集合与该集合做比较是否相等 * list与set是不相等的 */ boolean equals(Object o); /** * 返回集合的hashcode */ int hashCode(); /** * 多线程并行的迭代器 */ @Override default Spliterator spliterator() { return Spliterators.spliterator(this, 0); } /** * */ default Stream stream() { return StreamSupport.stream(spliterator(), false); } /** * 并行的stream */ default Stream parallelStream() { return StreamSupport.stream(spliterator(), true); } }

你可能感兴趣的:(Collection)