开发者社区> 问答> 正文

Java Collection接口里定义了哪些操作集合元素的方法?

已解决

Java Collection接口里定义了哪些操作集合元素的方法?

展开
收起
小天使爱美 2020-04-07 13:34:19 1216 0
2 条回答
写回答
取消 提交回答
  • 采纳回答

    "Collection接口里定义了如下操作集合元素的方法。 boolean add(Object o):该方法用于向集合里添加一个元素。如果集合对象被添加操作改变了,则返回true。 boolean addAll(Collection c):该方法把集合c里的所有元素添加到指定集合里。如果集合对象被添加操作改变了,则返回true。 void clear():清除集合里的所有元素,将集合长度变为0。 boolean contains(Object o):返回集合里是否包含指定元素。 boolean containsAll(Collection c):返回集合里是否包含集合c里的所有元素。 boolean isEmpty():返回集合是否为空。当集合长度为0时返回true,否则返回false。 Iterator iterator():返回一个Iterator对象,用于遍历集合里的元素。 boolean remove(Object o):删除集合中的指定元素o,当集合中包含了一个或多个元素o时,这些元素将被删除,该方法将返回true。 boolean removeAll(Collection c):从集合中删除集合c里包含的所有元素(相当于用调用该方法的集合减集合c),如果删除了一个或一个以上的元素,则该方法返回true。 boolean retainAll(Collection c):从集合中删除集合c里不包含的元素(相当于把调用该方法的集合变成该集合和集合c的交集),如果该操作改变了调用该方法的集合,则该方法返回true。 int size():该方法返回集合里元素的个数。 Object[]toArray():该方法把集合转换成一个数组,所有的集合元素变成对应的数组元素。"

    2020-04-07 13:34:48
    赞同 展开评论 打赏
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!

    Collection 总接口

    --| List 特征 有序 可重复

    ----| ArrayList 底层维护的是一个Object类型的数组,如果使用无参构造方法创建ArrayList集合,默认的容量为10

    ​ 用带有参数的构造方法,创建ArrayList集合,传入的initCapacity是多少,容量就是多少

    ​ 特征: 增删慢 查找快

    ​ newCapacity = oldCapacity + (oldCapacity >> 1) 二进制位运算

    ----| LinkedList 底层维护的是一个双向链表 特征是增删快 查找慢

    ----| Vector 线程安全的ArrayList 和ArrayList基本相同,JDK1.0的古老产物。效率低于ArrayList

    --| Set 特征 无序 不可重复

    ----| HashSet 底层维护是一个哈希表,存储效率极高

    ​ 一个自定义类对象放入到HashSet中,需要经历如下过程:

    ​ 通过当前类对象的HashCode,获取到当前类对象的哈希值,进行移位运算,计算出当前元素应该保存到哈希表中的位置。

    ​ 情况1: 当前位置没有元素,直接放入

    ​ 情况2: 当前位置已经存在其他元素。需要调用该元素的equals方法,进行比较,如果比较结果为两个元素不同,能够放入,两个元素相同,不能放入。

    ----| TreeSet 树形结构的Set集合

    ​ 能够放入TreeSet中的元素必须有自然顺序,或者提供【比较规则】

    ​ 一个自定义类对象,想要放入到TreeSet集合中,有两种方式

    ​ 1. 当前类【遵从】Comparable接口,实现compareTo(Object o)方法

    ​ 2. 实现一个自定义的比较器【遵从】Comparator接口,实现compare(Object o1, Object o2)方法

    Collection中的方法

    //添加方法: add(Object o) //添加指定元素 addAll(Collection c) //添加指定集合 //删除方法: remove(Object o) //删除指定元素 removeAll(Collection c) //输出两个集合的交集 retainAll(Collection c) //保留两个集合的交集 clear() //清空集合 //查询方法: size() //集合中的有效元素个数 toArray() //将集合中的元素转换成Object类型数组 //判断方法: isEmpty() //判断是否为空 equals(Object o) //判断是否与指定元素相同 contains(Object o) //判断是否包含指定元素 containsAll(Collection c) //判断是否包含指定集合

    List中的方法

    //添加方法: add(int index, Object o) //向指定位置添加元素 addAll(int index, Collection c) //向指定位置添加集合 //删除方法 remove(int index) //删除指定元素 //查询方法: get(int index) //获取指定位置的元素 indexOf(Object o) //获取指定元素的位置 lastIndexOf(Object o) //获取指定元素最后一次出现的位置 //修改方法: subList(int fromIndex, int toIndex) //截取子集合从fromIndex到toIndex,要头不要尾 set(int index, Object o) //修改指定位置的元素

    ArrayList中特有的方法

    ensureCapacity(int minCapactiy) //判断当前数组中的元素个数是否大于指定的minCapacity trimToSize() //修改数组容量为当前数组有效元素个数

    LinkedList中特有的方法

    //查询方法: getFirst() //获取集合中的第一个元素 getLast() //获取集合中的最后一个元素 //添加方法: addFirst(Object o) //在集合的第一个位置添加指定元素 addLast(Object o) //在集合的最后一个位置添加指定元素 //删除方法: removeFirst() //删除集合中的第一个元素 removeLast() //删除集合中的最后一个元素

    Collection中的迭代器Iterator方法

    Iterator iterator(); //迭代器构造方法 boolean hasNext() //判断是否有下一个元素 Object next() //获取当前元素 void remove() //删除通过next()获取的元素,在next()之后使用,不可以单独使用

    List中的迭代器 ListIterator方法

    ListIterator listIterator(); //迭代器构造函数 boolean hasNext() //判断是否有下一个元素 boolean hasPrevious() //判断是否有上一个元素 Object next() //获取当前元素 Object previous() //获取上一个元素 void remove() //删除通过next()获取的元素,在next()之后使用,不可以单独使用 add(Object o) //添加指定元素 set(Object o) //修改指定元素 int nextIndex() //获取当前元素所在位置

    2020-04-07 17:20:03
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载