容器

1、Queue继承自Collection,所以Queue不是传统的先进先出的队列,能够进行add和remove等操作。

     LinkedList实现了DQueue接口,Dqueue接口继承自Queue,所以LinkedList实际上是一个双向队列。

     PriorityQueue是Queue的实现类,内部采取的是极大堆。

     BlockingQueue

2、Set

   HashSet内部实际上是一个HashMap<K,Object> map。Set实际上是HashMap的keySet()。其Iterator是调用map.keySet().Iterator()来得到的。所以HashSet完全依赖的是HashMap。

3、HashMap的迭代器的遍历顺序是先遍历bucket为0的链表,然后再遍历bucket为1的链表,依次下去。

    Map.Entry keySet()返回的是一个AbstractSet的子类(HashMap的内部类),其Iterator继承自HashIterator。因为keySet()返回的是HashMap的内部类,所以对keySet()返回的set进行remove操作的时候是会改变

                                 HashMap的数据的,也就是删除了HashMap的一个key。add不能使用,否则抛不支持异常。

                                返回的set的操作实际上是根据迭代器进行操作的。

   Collection values()也一样,返回的是AbstractCollection的子类。其Iterator也是继承自HashIterator。所以其遍历顺序也是和HashMap的遍历顺序一样。同样,remove操作也会删除HashMap的数据。但是不能使用

                          add(),否则会报不支持异常。

                                    返回的collection实际上根据迭代器进行操作的。

4、只要是需要比较大小的,不能放null。如PriorityQueue,TreeSet等

   

                       

 

转载于:https://www.cnblogs.com/YDDMAX/p/5237849.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值