在前两节介绍了迭代器的五个相应类型,并讲述如何利用traits机制提取迭代器的类型,但始终是把iteartor_traits类分割开来讨论,这影响我们的理解,本节将给出iteator的部分源码,里面涵盖了整个iteartor_traits泛化版本、偏特化版本以及一些算法的完整代码。重新把先前讲的知识 ...
分类:
其他好文 时间:
2019-10-21 20:33:50
阅读次数:
80
map和set的都是关联容器,底层实现都是红黑树 一、map映射 存储键值对 实例化时需要传递两个类型 一个键key的类型 另外一个是值value类型 key唯一 相同的key只会存在一条记录 key有序 插入指定位置 遍历时 有序 (1)插入 pair<iterator, bool> insert ...
分类:
其他好文 时间:
2019-10-21 16:24:33
阅读次数:
66
关于HashMap与LinkedHashMap源码的一些总结 JDK1.8之后的HashMap底层结构中,在数组(Node table)长度大于64的时候且链表(依然是Node)长度大于8的时候,链表在转换为红黑树时,链表长度小于等于6时将不会进行转化为红黑树。目的是为了保证效率。其中链表的结点只有 ...
分类:
编程语言 时间:
2019-10-20 17:44:24
阅读次数:
85
List Java 的list又分为 ArrayList 和 LinkedList ArrayList iterator方法 该接口在HashSet中的实现相当的简单,可以看到iterator返回了keySet().iterator() HashMap的KeySet 从这一处代码可以看到iterat ...
分类:
编程语言 时间:
2019-10-20 16:23:41
阅读次数:
100
这里来总结下Map集合的4种遍历方式。 先来初始化一个Map。 第一种遍历方式:通过【Map.keyset()】使用【foreach】遍历key和value。 也可以简写为(省略变量): 第二种遍历方式:通过【Map.entrySet()】使用【iterator】遍历key和value。 第三种遍历 ...
分类:
其他好文 时间:
2019-10-19 09:46:39
阅读次数:
71
一、元素删除原型如下: 1、iterator erase(iterator first ,iterator last);//删除[first last)字符,返回迭代器指向最后一个被删去的元素。 2、iterator erase(iterator it);//删除it所指向的字符,返回string中 ...
分类:
编程语言 时间:
2019-10-17 10:31:20
阅读次数:
93
一、数组中新增的方法 1、Array.of() 2、Array from函数 3、Array.find() 4、Array.findIndex() 5、Array.fill() 二、for of && iterator 1、for of 2、iterator 3、给对象添加iterator函数 三、 ...
分类:
编程语言 时间:
2019-10-16 09:51:21
阅读次数:
73
遍历删除List中符合条件的元素主要有以下几种方法: 其中使用普通for循环容易造成遗漏元素的问题,增强for循环foreach会报java.util.ConcurrentModificationException并发修改异常。 所以推荐使用迭代器iterator,或者JDK1.8以上使用lambd ...
分类:
其他好文 时间:
2019-10-16 00:39:38
阅读次数:
151
题面:https://www.luogu.org/problem/P5021 cpp 本题首先看到最小值最大就可以想到二分,即二分一个mid作为答案,设f[u]为以u为根的子树中,不选作赛道的边最大为多少,因为赛道的选定只有两种情况,一是继续连向根的父亲,二是从儿子到根再到儿子,那么f[v]+w = ...
分类:
其他好文 时间:
2019-10-14 14:48:37
阅读次数:
67
Set接口简介 Set接口和List接口一样,同样继承自Collection接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行功能上的扩充,它是比Collection接口更加严格了。与List接口不同的是,Set接口元素无序,并且都会以某种规则保证存入的元素不出 ...
分类:
编程语言 时间:
2019-10-13 23:25:53
阅读次数:
130