java 单列集合总结

Collection 接口
add()
remove()
contains()
clear();
size();
迭代器遍历(普通迭代器,不能再遍历过程中修改集合的长度)

List接口 单列集合 有序可重复 有索引
add(index,obj)
remove(index)
get(index)
set(index,obj)

List的遍历
for循环
迭代器

使用集合步骤
创建集合对象
创建元素对象(引用数据类型(包含基本数据类型包装类对象))
调用集合方法,增删改查
使用迭代器遍历集合( ListIterator 列表迭代器,可以在遍历过程中修改集合长度)
hashNext查看是否有下一个元素
如果有:调用next方法获取

二个儿子 Vector(自行利用API文档学习)
线程不安全:高效
ArrayList:底层是数组结构,查询快,增删慢
LinkedList:底层链表结构,查询慢,增删快

到底改用谁?
查询多:ArrayList
增删多:LinkedList

如果你根本不知道改用谁,就用ArrayList


Set接口 单列集合 无序不可重复
元素唯一,无序(存储和读取的顺序可能不一致)

HashSet
如何保证元素唯一?底层数据结构是哈希表,依赖于元素的哈希值
最终:hashcode方法和equals方法

顺序:
先比较hashcode的返回值
相同:继续调用equals方法比较元素的内容
不相同:直接添加到集合

HashSet存储基本数据类型和String:因为基本数据额类型包装类以及String重写hashCode和equals方法
HashSet存储自定义类型:需要重写hashcode和equals方法


TreeSet
如何保证元素唯一?
根据compareTo方法的返回值是不是0

如何元素排序
1. 元素所在的类实现Comparable接口,重写compareTo方法
2. 集合具有比较性,创建TreeSet集合对象的时候调用有参构造方法,传入比较器对象(匿名内部类)


遍历集合:迭代器和增强for循环

LinkedHashSet
底层是哈希表和链表
保证元素唯一和元素有序

增强for循环!!!!
集合遍历
for(元素类型 变量名:集合名){
强转 Object转为子类对象 使用子类的特有成员!!!!!!
输出变量名就是集合中的每一个元素
}

转载于:https://www.cnblogs.com/qwer521/p/7372372.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值