干了这杯Java之集合概览】的更多相关文章

Java集合框架支持两种类型容器: 一种是为了存储一个元素的合集,为Collection 一种是为了存储键/值对,为Mapping Collection包含 Set存储不重复的元素 List存储一个有序元素合集 Stack存储采用后进先出方式处理的对象 Queue存储采用先进先出方式处理的对象 Priority Queue存储优先级顺序处理的对象 Collection接口是一切合集的根接口,它继承了Iterable接口生成一个Iterator对象用于遍历元素,它为这些合集定义了通用的操作 Col…
LinkedList和ArrayList一样实现了List接口 ArrayList内部为数组 LinkedList内外为双向链表 实现了Deque接口,双端列队的实现 图片来自Wiki 内部实现为Node对象 private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.it…
Vector实现了AbstractList抽象类和List接口,和ArrayList一样是基于Array存储的 Vector 是线程安全的,在大多数方法上存在synchronized关键字 //Vector存放的元素,初始化默认长度为10 protected Object[] elementData; //元素个数 protected int elementCount; //每次扩容大小,默认为0 protected int capacityIncrement; //构造函数,无指定初始化大小和…
ThreadLocal Java篇 是什么 怎么用 源码 缺点 总结 是什么 ThreadLocal是一个关于创建线程局部变量的类,这个变量只能当前线程使用,其他线程不可用. ThreadLocal提供get()和set()方法创建和修改变量. 怎么使用 ThreadLocal threadLocal = new ThreadLocal(); ThreadLocal<String> threadLocal = new ThreadLocal<>(); ThreadLocal thr…
1.Idea基本配置 1.1 Idea简介 Idea是一个专门针对Java的集成开发工具(IDE),由Java语言编写.所以,需要有JRE运行环境并配置好环境变量.简单的说,Idea是写代码用的工具. Idea可以自动编译,检查错误,可以极大地提升我们的开发效率.现时,很多企业逐步开始使用Idea进行开发,下面我们就来讲解Idea的相关应用: 1.2 Idea安装 此软件集成了32位和64位,双击 ideaIU-2017.3.2.exe 进入安装. 1. 欢迎界面 2. 选择安装路径 3. 配置…
List存储一个有序元素合集 List接口的实现类有: ArrayList,LinkedList,Vector,Stack ArrayList一个数组型的List 默认容量为10 private static final int DEFAULT_CAPACITY = 10; 扩容 private void grow(int minCapacity) { // overflow-conscious code int oldCapacity = elementData.length; int new…
类: public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable 继承自AbstractMap 实现了Map,Cloneable,Serializable接口 可以被序列化 可以被Clone //默认初始容量为16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // ak…
看源码的时候,发现transient这个关键字,不甚理解,查找资料发现:不被序列化 疑问: 静态变量是不是不被序列化? public class User implements Serializable { private static final long serialVersionUID = 2877054094045568710L; private String username; private transient String password; private static int…
转自C#与C++.Java之比较概览 C#与C++.Java之比较概览 Ben Albahari 著  荣耀 译 本文翻译时间较早.欢迎指出任何误失.谢谢. 感谢以下人士的支持和反馈(按字母先后顺序): Don Box.C.R. Manning.Joe Nalewabau.John Osborn.Thomas Rhode.Daryl Richter. 本文以C#提供的新编程方式以及它对两个近邻Java和C++的改进为中心.C#在很多方面采用和Java类似的方式来改进C++,因此,我不打算重复诸如…
一.集合 1.集合类也称容器类,主要负责保存.盛装其他数据. 2.集合可以保存数量不确定的数据,保存具有映射关系的数据(也称关联数组). 3.Java5后提供一些多线程安全的集合类,放在java.util.concurrrent.(utility的缩写,意为多用途的,实用的) 4.集合只能保存对象(实际是对象的引用,习惯称对象). 5.Java的集合主要由Collection和Map两个接口派生而出,Map接口的实现类用于保存关联数组,Set集合元素不可重复,通过元素本身访问,Map集合可以通过…