ArrayList 是 List 集合的列表经典实现,其底层采用定长数组实现,可以根据集合大小进行自动扩容。 原理 为了深入理解 ArrayList 的原理,我们将从类成员变量、构造方法、核心方法两个方面逐一介绍。 类成员变量 构造方法 ArrayList 一共有 3 个构造方法: 从第一个构造方法 ...
分类:
其他好文 时间:
2019-08-26 09:25:14
阅读次数:
101
1. 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 2. 思路和方法 array[i]%2==0用vector的push_back()的函数实现存储。result_o ...
分类:
编程语言 时间:
2019-08-25 14:22:02
阅读次数:
84
优先级队列的特征在于删除最大值和插入操作。 初级实现 数组实现(无序):惰性方法,仅在必要的时候找出最大元素; 数组实现(有序):积极方法:在插入时就保持列表有序,使后续操作更高效; 链表表示法 | 数据结构 | 插入元素 | 删除最大元素 | | | | | | 有序数组 | N | 1 | | ...
分类:
其他好文 时间:
2019-08-25 12:15:08
阅读次数:
66
集合系列(一):集合框架概述 Java 集合是 Java API 用得最频繁的一类,掌握 Java 集合的原理以及继承结构非常有必要。总的来说,Java 容器可以划分为 4 个部分: List 集合 Set 集合 Queue 集合 Map 集合 除了上面 4 种集合之外,还有一个专门的工具类: 工具 ...
分类:
其他好文 时间:
2019-08-24 00:32:43
阅读次数:
85
步骤:1、首先正常设置好大盒子里小盒子的样式,然后删除小盒子,只留着样式。这些样式可以统以给剩下的用。 2、当没有数据包时自己制作数据包,制作要求:数组里面有多个对象,每个对象里都是键值对。属性值要用双引号(“”)包裹住,键值对之间用逗号(,)隔开,对象与对象之间也用逗号隔开,一定要注意格式别写错。 ...
分类:
编程语言 时间:
2019-08-23 00:29:26
阅读次数:
148
17:07:38 2019-08-21 学习 18:11:59 2019-08-21 完善了对栈 队列的测试 栈的数组实现 StackInArray.h 1 #ifndef _STACK_IN_ARRAY_H 2 #define _STACK_IN_ARRAY_H 3 #define Empty - ...
分类:
其他好文 时间:
2019-08-22 09:17:39
阅读次数:
64
一、概况 容器主要包括Collection和Map两种,Collection存储着对象的集合,Map存储着键值对(两个对象)的映射表。 Colletion Set TreeSet HashSet LinkedHashSet List ArrayList:基于动态数组实现,支持随机访问。 Vector ...
分类:
其他好文 时间:
2019-08-19 11:21:07
阅读次数:
74
Stack 后进先出 使用数组实现的叫顺序栈 使用链表实现的叫链式栈 顺序栈的实现代码 对于顺序栈 ,栈满了之后需要动态扩容 使用均摊分析法,入栈的时间复杂度为O(1) 有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 使用两个栈 Map: ...
分类:
编程语言 时间:
2019-08-18 19:41:24
阅读次数:
119
树的存储: 二叉树的存储: 1. 连续存储(顺序存储)【完全二叉树】,以数组实现 优点: 查找某个节点的父节点和子节点(包括判断有没有子节点和父节点) 缺点: 耗用内存空间过大 2. 链式存储: 一个节点包含三个部分:左子节点地址、数据域、右子节点地址 优点:耗内存小 一般树的存储: 由于计算机的内 ...
分类:
其他好文 时间:
2019-08-17 23:43:06
阅读次数:
145
1. 阻塞队列的应用场景 队列示意图 我们来看一个场景,监控文件变化的时候,我们开一个线程获取变化了的文件名,拿到之后我们会做解析,查找数据库等等其他操作。如果我们对这两个操作分开统计它们的处理时间,会发现后面的解析需要的时间远远大于前面得到文件名的时间。 文件监控与处理 这时如果监控文件变化的线程 ...
分类:
其他好文 时间:
2019-08-14 14:24:35
阅读次数:
92