Java中的 List 与 Set

List 与 Set

List 接口

​ 1.有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123)
​ 2.有索引,包含了一些带索引的方法
​ 3.允许存储重复的元素

List 接口中带索引的方法 (特有)

​ 1.add 添加
​ 2.get 获取
​ 3.remove 删除
​ 4.set 替换

List 集合下的 ArrayList

不同步即为 多线程
多线程效率高

ArrayList 增加删除效率慢 但是查找快
底层为 数组结构

List 集合下的 LinkedList

同样不同步 多线程
底层为链表结构 查询慢,增删快
大部分为操作 首尾元素方法

含有常用方法

1.addFirst 将指定元素内容插入列表的开头
2.addLast 将指定元素内容插入列表末尾
3.getFirst 获取列表第一个元素
4.getLast 获取列表最后一个元素
5.remove 删除列表第一个元素
6.removeLast 移除并返回此列表的最后一个元素
7.push 从此列表所表示的堆栈处弹出一个元素 效果和addFirst 差不多
8.pop 相当于删除第一个元素

List 集合下的 Vector

Vector 可增长的对象数组
与ArrayList一样底层是数组 但是为单线程
它的方法
addElement 将指定的组件添加到此向量的末尾,将其大小增加1
可用迭代器遍历

Set接口

特点:
不包含重复元素
没有索引 不能通过普通for循环遍历

Set集合下的HashSet

特点:
为哈希表结构 查询速度非常快
没有存储顺序 无序集合
多线程

注意:在使用 HashSet 自定义存储数据时,应重写hascode equals

Set集合下的LinkedHashSet

特点:
底层是 哈西表 加 链表
加了一条链表保证了元素有序 不允许重复

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值