集合方法#

1 集合体系:
在这里插入图片描述
Collect功能概括:
添加功能:
boolean add(Object obj):添加一个元素
boolean addAll(Collection c):添加一个集合元素

删除功能:
void clear();移除功能
boolean remove(Object o);移除一个元素.移除所有
boolean removeAll(Collection c):移除一个集合元素(移除一个元素都是移除)

判断功能:
boolean contains(object o):判断集合中是否包含指定的元素
boolean containsAll(Collection c):判断集合中是否包含指定的集合元素(只有包含所有才叫包含)
boolean isEmpty:判断集合是否为空

获取功能:
Iterator<>iterator()(重点)
boolean retainsAll(Collection c):两个集合都有的元素;(若A中元素不变则为flase,当A变则为true);

长度功能;
int size()元素个数

把集合转化成数组:
Object[] toArray();

Iterator iterator():迭代器
A:是集合的获取元素的方式。
B:是依赖于集合而存在的。
Object next():获取元素,并移动到下一个位置。
boolean hasNext();如果仍有元素可以迭代,则还回true.

2 List接口:
(1)List是Collection的子接口
特点:有序(存储顺序和取出顺序一致),可重复。
A:添加功能
void add(int index,Object element);在指定位置添加
B:获取功能
Object get(int index);获取指定位置的元素
C:列表迭代器
ListIterator lisIterator();LIst 集合特有的迭代器
D:删除功能
Object remove (int index);根据索引删除元素,还回被删除的元素
E:修改功能
Object set(int index,object element);根据索引修改元素,还回被修改的元素
3 常见数据结构
A:栈 先进后出
B:队列 先进先出
C:数组 查询快,增删慢
D:链表 查询慢,增删快
4 List 特点:
List的子类特点
ArrayList
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。
Vector
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
LinkedList
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高。
在这里插入图片描述
都是第一个和最后一个

泛型:
在这里插入图片描述
泛型的前世今生
A:泛型的由来
Object类型作为任意类型的时候,在向下转型的时候,会隐含一个转型问题
B:泛型类
C:泛型方法
D:泛型接口
E:泛型高级通配符
?:任意类型,如果没有明确,那么就是Object以及任意的Java类
? extends E:向下限定,E及其子类
? super E:向上限定,E及其父类

增强for循环(掌握)
(1)是for循环的一种
(2)格式:
for(元素的数据类型 变量名 : 数组或者Collection集合的对象) {
使用该变量即可,该变量其实就是数组或者集合中的元素。
}
(3)好处:
简化了数组和集合的遍历
(4)弊端
增强for循环的目标不能为null。建议在使用前,先判断是否为null。
可变参数(掌握)

可变参数(掌握)
(1)如果我们在写方法的时候,参数个数不明确,就应该定义可变参数。
(2)格式:
修饰符 返回值类型 方法名(数据类型… 变量) {}
注意:
A:该变量其实是一个数组名
B:如果一个方法有多个参数,并且有可变参数,可变参数必须在最后
(3)Arrays工具类的一个方法
asList()把数组转成集合。(List<>list = Arrays.asList(arr))
注意:这个集合的长度不能改变。

set:
(1)Set集合的特点:无序,唯一
HashSet集合(掌握)
A:底层数据结构是哈希表(是一个元素为链表的数组)
B:哈希表底层依赖两个方法:hashCode()和equals()
执行顺序:
首先比较哈希值是否相同
相同:继续执行equals()方法
返回true:元素重复了,不添加
返回false:直接把元素添加到集合
不同:就直接把元素添加到集合
C:如何保证元素唯一性的呢?
由hashCode()和equals()保证的
D:开发的时候,代码非常的简单,自动生成即可。
E:其中下方有一个LinkedHashSet:(1):底层数据结构由哈希表和链表组成,哈希表保证元素的唯一性。链表保证元素有序(存储和取出一致)

(2)TreeSet集合
A:底层数据结构是红黑树(是一个自平衡的二叉树)
B:保证元素的排序方式
a:自然排序(元素具备比较性)
让元素所属的类实现Comparable接口
b:比较器排序(集合具备比较性)
让集合构造方法接收Comparator的实现类对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值