java基础--集合框架复习1(Collection)

本文详细介绍了Java集合框架中的Collection接口及其主要实现类ArrayList、LinkedList、Vector和Set接口的实现类如HashSet、TreeSet。分析了不同类的特点,如ArrayList的扩容策略、LinkedList的高效插入删除、Vector的线程安全以及Set接口中数据的无序性和不可重复性。还特别强调了在使用Set时重写hashCode()和equals()的重要性。
摘要由CSDN通过智能技术生成

集合、数组都是对多个数据进行存储操作的结构,简称java容器
此时的存储,主要针对内存层面的存储忙不涉及到持久化的存储(.txt,.jpq,.avi,等)

  因为数组在存储多个数据方面有着一些缺点,所以需要使用集合中的实现类来完成,所以我们先复习一下数组存储多个数据的缺点。

  • 数组存储多个数据的缺点:
    • 一旦初始化以后,其长度就不可被修改;
    • 数组提供的方法非常有限,对于添加、删除、插入数据等操作,非常不便,同时效率不高。
    • 数组对于存储数据的特点:有序、可重复。对于无序、不可重复的需求不能满足。

Java集合可以分为 CollectionMap 两种体系

  • Collection 接口:单列数据,用来存储一个一个的对象
    • List 接口:存储有序的、可重复的数据
      • 实现类有:ArrayList、LinkedList、Vector
    • Set 接口:存储无序的、不可重复的数据
      • 实现类有:HashSet、TreeSet
  • Map 接口 :双列接口,用来存储一对(key - value)一对的对象
    • 实现类有:HashMap TreeMap 等

Collection 接口

Collection集合框架图
在这里插入图片描述
Collection中的方法

方法名 说明
boolean isEmpty() 如果此集合不包含元素,则返回 true 。
boolean contains(Object o) 如果此集合包含指定的元素,则返回true 。 更正式地,返回true如果且仅当该集合至少包含一个元素e使得(o == null ? e==null : o.equals(e))
Iterator< E > iterator() 返回此集合中的元素的迭代器。 没有关于元素返回顺序的保证(除非这个集合是提供保证的某个类的实例)。
Object[] toArray() 返回一个包含此集合中所有元素的数组。 如果此集合对其迭代器返回的元素的顺序做出任何保证,则此方法必须以相同的顺序返回元素。
T[] toArray(T[] a) 返回包含此集合中所有元素的数组; 返回的数组的运行时类型是指定数组的运行时类型。
boolean add(E e) 确保此集合包含指定的元素(可选操作)。 如果此集合由于调用而更改,则返回true 。 (如果此集合不允许重复,并且已包含指定的元素,则返回false。 )
boolean remove(Object o) 从该集合中删除指定元素的单个实例(如果存在)(可选操作)。 更正式地,删除元素e ,使得(o == null ? e==null : o.equals(e)) ,如果该集合包含一个或多个这样的元素。 如果此集合包含指定的元素(或等效地,如果此集合由于调用而更改),则返回true 。
boolean containsAll(Collection<?> c) 如果此集合包含指定 集合中的所有元素,则返回true。
boolean addAll(Collection<? extends E> c) 将指定集合中的所有元素添加到此集合(可选操作)。 如果在操作进行中修改了指定的集合,则此操作的行为是未定义的。 (这意味着如果指定的集合是此集合,此调用的行为是未定义的,并且此集合是非空的。)
boolean removeAll(Collection<?> c) 删除指定集合中包含的所有此集合的元素(可选操作)。 此调用返回后,此集合将不包含与指定集合相同的元素。
default boolean removeIf(Predicate<? super E> filter) 删除满足给定谓词的此集合的所有元素。 在迭代或谓词中抛出的错误或运行时异常被转发给调用者。
boolean retainAll(Collection<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值