_16_list,链表,排序

Foreach
java5引入的,增强for循环

语法 : for(数据类型 变量 : 集合){

}
在这里插入图片描述

List

在这里插入图片描述

List元素的特点 :
规定 : 有序可重复,存入顺序和取出顺序一致
并且 , 下标有序,通过下标可以表示数据唯一性,所以可以重复,其中链表是没有下标的,但是通过LinkedList封装之后,也可以通过下标获取

底层实现 :
ArrayList : 底层是索引数组
LinkedList : 底层的双向链表
Vector : 维克拖List 已经被ArrayList替代
VectorList : 属于线程安全
ArrayList : 非线程安全
所以 ArrayList 运行效率比较高
在这里插入图片描述
在这里插入图片描述
添加
在这里插入图片描述

更改

在这里插入图片描述

排序 :

在这里插入图片描述

Link

在这里插入图片描述
Set :
Set : 无序,不可重复,
无序 : 下标无序,并且存储顺序和读取顺序不一定一致
不可重复 : 元素不可重复
HashSet 明天再讲

SortedSet是个接口
TreeSet是SortedSet的实现类
虽然无序,但是存进去的元素可以按照某种规则进行排序
数字 : 从小到大
字符串 : 每一位上ASCII值
日期 : 自然日期

因为String,Date,Integer 三个类,都实现了比较器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

排序 :
为什么TreeSet可以自动排序
因为被存储的元素都实现了Comparable接口
TreeSet集合在添加元素的时候,会调用对象的compareTo()方法完成比较
所以 如果想要存储我们自定义的类,并且也要使用TreeSet的话,就需要实现这个接口,并覆写方法,指明排序规则
/**
* TreeSet中,元素的类型必须统一
* 因为排序需要比较,如果类型不一致,没有可比性,更没有顺序可讲
*/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值