List接口 | | | | | | | List | @since JDK1.0,List是一个有序的、可以重复、可以为null 的集合(有时候我们也叫它“序列”)。 | | ArrayList | @since 1.2,是基于数组实现的,是一个动态数组,查询效率高,增删效率低,线程不安全。 | ...
分类:
其他好文 时间:
2019-09-19 13:56:54
阅读次数:
96
java容器包括Collection和Map两种,Collection储存着对象的集合,而Map储存着键值对(两个对象)的映射表。 Collection: 1)Set ·TreeSet ·HashSet ·LinkedHashSet 2)List ·ArrayList(基于动态数组实现,线程不安全) ...
分类:
编程语言 时间:
2019-09-19 00:57:04
阅读次数:
89
1、数据结构 ArrayList底层使用数组实现,默认大小10,容量不足时需动态扩容为原来的1.5倍 LinkedList底层使用双向链表实现,无大小限制 2、使用场景 ArrayList使用数组对于索引操作即(set get方法)时间复杂度为O(1) 而LinkedList索引时需要从头遍历从而找 ...
分类:
其他好文 时间:
2019-09-16 23:43:50
阅读次数:
109
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路分析 最简单的方法就是把奇数和偶数按顺序挑出来,分别放到vector里,最后再把偶数的vector接到奇数vecto ...
分类:
编程语言 时间:
2019-09-13 20:33:29
阅读次数:
118
线性表是一种常用的数据结构,通常用来存储数据,存储方式是线性的。常见的线性表有顺序表, 链表等。顺序表是基于数组实现的,链表是通过一个个节点链接而成。线性表具有随机访问的机制,可以 在任意位置插入和删除数据元素。 C语言实现: #define MaxSize 10 typedef struct{ c ...
分类:
其他好文 时间:
2019-09-13 17:34:58
阅读次数:
110
题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。例如给定一个数组{2,4,6,3,5},调整后的数组为{3,5,2,4,6} 思路一: 最直接的思路是新建一个数组, ...
分类:
编程语言 时间:
2019-09-02 23:39:41
阅读次数:
86
1、前言 集合在Java中的地位想必大家都知道,不用多BB了。无论是在我们现在的学习中还是在今后的工作中,集合这样一个大家族都无处不在,无处不用。在前面讲到的数组也是一个小的容器,但是数组不是面向对象对象的,它存在明显的缺陷,而集合恰好弥补了数组带来的缺陷。集合比数组更加灵活、更加实用。而且不同的集 ...
分类:
编程语言 时间:
2019-08-30 13:44:04
阅读次数:
107
面试题:ArrayList和LinkedList的区别? ArrayList和LinkedList是List的两种基本实现,ArrayList是List的数组实现,LinkedList是List的双向链式实现。ArrayList可以指定位置访问,在查询、修改时效率比LinkedList高,添加、删除 ...
分类:
其他好文 时间:
2019-08-30 11:20:32
阅读次数:
72
一道水题,由于x坐标递增y坐标也递增于是前缀和统计即可,用树状数组实现。 cpp include using namespace std; const int maxn=15010; const int maxx=32010; inline long long read(){ long long x ...
分类:
其他好文 时间:
2019-08-26 23:03:17
阅读次数:
94