javase-----单列集合

一、单列集合总体结构

单列集合
单列集合

Collection接口中的常用方法:

1.int size()   //返回集合中元素总个数
2.boolean isEmpty()  //判定集合是否为空
3.boolean contains(Object o); //判定是否包含某元素
4.Iterator<E> iterator();  //继承了迭代器接口,用于集合遍历
5. Object[] toArray();    //将集合转化为数组
6. boolean add(E e);     //添加元素
7.boolean remove(Object o);   //移除元素
7. boolean containsAll(Collection<?> c);  //判断集合之间是否有包含关系
8. boolean addAll(Collection<? extends E> c); 
9. boolean removeAll(Collection<?> c);  //移除在集合中的所有属于集合c的元素
10.void clear();   //清除所有元素
10. int hashCode();

迭代器:Collection接口继承了迭代器接口
在这里插入图片描述

List类集特性

1.集合内元素可重复。
2.可使用普通for循环遍历。
3.存取一致。

## 集合内元素可重复且存取一致
在这里插入图片描述
在这里插入图片描述
使用普通for循环遍历(区别于Set集合)

在这里插入图片描述
当然增强for循环和迭代器遍历也是可以的

Set集合类特性

1.集合内元素不可重复
2.不能使用普通for循环遍历
3.无序,存取不一致

对于Set集合的无序和不能使用for循环遍历的含义如下

## 对于无序性

在这里插入图片描述
这里我们添加的顺序依次是abdefk
然而打印结果是:
在这里插入图片描述
发现集合中的元素的顺序并非和我们添加的顺序一致

下面我们再添加一个元素:
在这里插入图片描述

结果:
在这里插入图片描述
发现元素插入的位置是在原集合序列中随机插入,但是会发现原来集合中的元素相对位置都没有发生变化。

结论:每次插入一个新的元素时,并不会把集合中所有元素都打乱,其他元素的相对位置保持不变,新插入的元素是随机插入的。所谓的存取不一致只是说最后一个插入的元素不一定是在集合的最后一个位置。

## 不可重复性

对于不可重复性是利用了HashCode()和equal()两个方法协同合作进行控制的

不能被普通的for循环遍历

在这里插入图片描述

但是可以用增强for遍历
在这里插入图片描述

也可用迭代器遍历Iterator
在这里插入图片描述

二、List实现类介绍

ArrayList
本质上是一个大小可变的数组。
特点是增删慢,查找快。
LinkedList
本质上是链表
特点是增删快,查找慢。

三、Set实现类介绍

HashSet
LinkedHashSet
保证元素的添加顺序(可对比HashSet不同点)
在这里插入图片描述
在这里插入图片描述
TreeSet
保证元素的自然顺序(排好序的按字典序排)[注意可能要重写compareTo方法]
在这里插入图片描述
在这里插入图片描述

java初学者,若有错误还请批评指教!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值