ArrayList概述Hello大家好,今天就来介绍一下ArrayList,说到ArrayList,很多人都知道它的底层是使用数组实现的,线程不安全的,说到它的特点,都会说查找快,增删慢,因为面试题大家都是这么背过来的。今天就来说说它的底层源码吧。ArrayList更准确的说是动态数组去实现的,这里使用动态两字,是为了能够充分体现它的特点。再者就是ArrayList不是线程安全的,所以效率比较高,
分类:
其他好文 时间:
2020-02-26 23:16:29
阅读次数:
97
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 class Solution { public: void reOrderArray(vector<int> &arra ...
分类:
编程语言 时间:
2020-02-22 21:42:44
阅读次数:
62
1. 在BIO中只有一个核心对象 Stream,它是单向的数据传输通道,即每个Stream要么是输入要么是输出的,不可兼得。开发人员是面向Stream进行编程的。 2. 在NIO中有三个核心对象 Seletor、Channel、Buffer。其中Selector是一个事件循环线程,不停的监听注册在其 ...
分类:
其他好文 时间:
2020-02-21 14:16:24
阅读次数:
63
[TOC] 一、总结 输入用了 int(input()) ,但发现这种方法好像有点不方便 每次输入一个数字都要按 回车 ,按空格不能识别 下次找找看看有没有其他输入方法 Python中没有数组,但列表类似数组 通过叠加[ ],就可以通过列表创建二维数组 Python中创建二维数组的方法 (以本案例为 ...
分类:
编程语言 时间:
2020-02-20 23:41:51
阅读次数:
78
ArrayList 默认长度10 底层是使用了Object数组实现 查询快,增删慢,线程不安全 迭代器 Iterator list.iterator() 返回当前集合的迭代器对象 Iterator.hasNext() 判断有无元素 Iterator.next()返回当前元素,索引后移 异常Concu ...
分类:
编程语言 时间:
2020-02-20 09:26:01
阅读次数:
86
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 1 public class Solution { 2 public void swap(int [] array, i ...
分类:
编程语言 时间:
2020-02-17 19:35:49
阅读次数:
110
ArrayList 概述 1. ArrayList 是基于数组实现的,是一个动态数组 2. ArrayList 不是线程安全的,只能在单线程环境下;多线程使用ArrayList,应该考虑Collections.synchronizedList(List l)和concurrent并发包下的CopyO ...
分类:
其他好文 时间:
2020-02-17 15:50:08
阅读次数:
76
1.数组实现的栈 #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAXSIZE 5 /** *数组实现的栈,缺点,容量固定 **/ typedef struct{ int data[MAXSIZE]; int i ...
分类:
编程语言 时间:
2020-02-16 14:58:55
阅读次数:
102
集合类分为两个分支,Collection与Map,其中Collection接口继承了Iterator接口,继承Iterator接口的类可以使用迭代器遍历元素(即Collection接口的类都可以使用),今天我们从相同点、不同点、以及JDK源码等各个方面来深入解析下,底层使用数组实现的两个集合类:Ar ...
分类:
编程语言 时间:
2020-02-16 14:39:20
阅读次数:
82
栈既可以用数组来实现,也可以用链表来实现。用数组实现的栈,我们叫作顺序栈,用链表实现的栈,我们叫作链式栈。 ...
分类:
其他好文 时间:
2020-02-16 12:42:53
阅读次数:
68