集合1

List集合
特点:
有索引
可以存储重复元素
元素存取有序

遍历方式:
普通for循环
增强for循环
迭代器方式

特有方法:
void add(int index,E element) 在此集合中的指定位置插入指定的元素
E remove(int index) 删除指定索引处的元素,返回被删除的元素
E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
E get(int index) 返回指定索引处的元素

List集合的实现类:ArrayList集合

底层是数组结构实现,查询快、增删慢

遍历方式:
普通for循环
增强for循环
迭代器

List集合的实现类:LinkedList集合

底层是链表结构实现,查询慢、增删快

遍历方式(同ArrayList):
普通for循环
增强for循环
迭代器

特有的方法:
public void addFirst(E e) 在该列表开头插入指定的元素
public void addLast(E e) 将指定的元素追加到此列表的末尾
public E getFirst() 返回此列表中的第一个元素
public E getLast() 返回此列表中的最后一个元素
public E removeFirst() 从此列表中删除并返回第一个元素
public E removeLast() 从此列表中删除并返回最后一个元素

Set

特点:
没有索引
不能存储重复元素
元素存取无序

遍历方式:
只能通过迭代器或增强 for循环遍历
Set集合的实现类:HashSet集合

特点
没有索引
不能存储重复元素
元素存取无序
底层数据结构是哈希表

遍历方式:
增强for循环
迭代器


HashSet 集合保证元素唯一性的原理分析
1.根据对象的哈希值计算存储位置
	如果当前位置没有元素则直接存入
	如果当前位置有元素存在,则进入第二步
2.当前元素的元素和已经存在的元素比较哈希值
	如果哈希值不同,则将当前元素进行存储
	如果哈希值相同,则进入第三步
3.通过equals()方法比较两个元素的内容
	如果内容不相同,则将当前元素进行存储
	如果内容相同,则不存储当前元素

Set集合的实现类:LinkedHashSet集合

特点
由链表保证元素有序,也就是说元素的存储和取出顺序是一致的
由哈希表保证元素唯一,也就是说没有重复的元素
哈希表和链表实现的Set接口,具有可预测的迭代次序

遍历方式:
增强for循环
迭代器

Set集合的实现类:TreeSet集合

1.元素有序,可以按照一定的规则进行排序。
当存储内容为基本数据类型时,可直接输出;
当存储内容为对象时,需要再进行额外的操作。具体排序方式取决于构造方法
	TreeSet():根据其元素的自然排序进行排序
	TreeSet(Comparator comparator) :根据指定的比较器进行排序
2.没有带索引的方法,所以不能使用普通for循环遍历
3.由于是Set集合,所以不包含重复元素的集合

遍历方式:
增强for循环
迭代器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值