关于Collection与Map接口的方法整理

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/iruier_/article/details/80010308

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() //获取当前元素所在位置
Set中的方法

Set接口没有特有的方法,Collection中的方法在这里全部适用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值