复杂的容器简单化以及容器的遍历总结(重点都在)

容器:(里面只能装引用类型)
Collection接口
1.List接口(有序,不唯一)//备注:这里的有序是插入的顺序
ArrayList:底层实现是数组
LinkedList:底层实现是链表
单向列表:每个元素只有一个引用,都是指向后面的节点
双向列表:每个元素有两个引用,一个指向前一个节点,一个指向后一个节点
Vector:线程安全的,jdk1.0版本后就有的,上面两个线程不安全,但是高效

2.Set接口(无序,唯一)
HashSet:底层实现是数组+链表(算法是hashcode码取余一个数之后存取到相应的位置,如果
余数相同则直接链到次索引上),各种快(遍历,删除,修改);
LinkedHashSet
TreeSet:底层实现是二叉树(插入:左小右大,排序:先左节点再根节点最后右节点)
特点:有序,唯一,生成此容器对象的时候必须传入一个比较器的
 对象(这个对象可以直接写成内部类的方式生成)
Treetable

Map接口
1.HashMap<key,value> 键值对的体现,只能通过key找到value, 
三种方式可以bianli此容器
1.Set<key> set=map.keySet();//拿到所有的key,并存储到Set容器li面
2.Collection<Object obj> objs=map.values();//拿到所有的values值
3.Set<Entry<key,value>> set=list.entrySet();//拿到所有的条目(key和value组成);
 Hashtable<key,value>:key和value都不可以为null,上面的key和value都可以为null

2.TreeMap
比较器:比较对象的大小
外部比较器:Comparator int Compare(Object obj1,Object obj2)
内部比较器:Comparableint CompareTo(Object obj)

迭代器:(专为容器而生(除了map),且只能有容器本身获取迭代器)
1.Iterator: 只能遍历容器里面的元素,和删除里面的元素

2.ListIterator:不仅能遍历删除元素,而且能删除,修改,添加,功能更加强大

备注:1.执行完.hasNext()方法之后,游标指向下一个元素
2.在删除元素的时候,只能是先执行.next()方法之后,才能删除当前的元素
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值