邹瑞20201007
总结
内存
不关我们是创建基本数据类型的变量还是引用数据类型的变量,jvm都会通过内存分布去编译和运行程序。
内存一般分为栈区、堆区、方法区(方法区里面包含常量池)
栈区一般存放变量(局部变量)、方法的参数引以及用对象
堆区一般存放的是对象以及成员变量
方法区一般存放方法 里面常量池存放常量
不管你是要创建变量还是对象在内存里面都会开辟内存空间
程序---(准备执行)------>Java虚拟机---(申请内存)---->操作系统
然后按级分配内存。
集合
java 中针对数组的缺陷,提供了一种比数组灵活、使用方便的接口和类,它们位于 java.util 包,称 为集合框架。
java 中的集合框架主要从三个方面入手:
-
java.lang.Iterable
Iterable接口,凡是实现了此接口的对象都能称为for-each-loop的目标
for(数据类型 变量名 :循环对象){
//循环体
}//变量是循环对象的值,不是索引iterator()返回一个类型的迭代器。
-
java.util.Collection
public interface Collection
extends Iterable
从类的声明我们可以看到, Collection 接口继承了 Iterable 接口。也就意味着,实现了 Collection 接口的类也间接实现了 Iterable 接口,也就是说它们都能作为 for-each-loop 的循环对 象。
Collection 是集合层次结构中的根接口。集合表示一组对象,称为其元素。有些集合允许重复 元素,有些则不允许。 有些是有序的,有些是无序的
抽象方法
实现类很多,主要研究List、Set、Queue
Queue(队列)
public interface Queue
extends Collection
设计用于在处理之前保留元素的集合。 除了基本的 Collection 操作之外,队列还提供额外的插入,提 取和检查操作。
不可以存 null
Deque(双端队列)
public interface Deque
extends Queue
继承了 Queue ,支持两端元素插入和移除的线性集合。
常用抽象方法:
Set
public interface Set
extends Collection
不包含重复元素的集合。
抽象方法大多是继承自 Collection 的,所以不做单独说明。
常用子类, HashSet 和 TreeSet
List
有序集合(也称为序列 )。 该集合用户可以精确控制列表中每个元素的插入位置。 用户可以通过整数 索引(列表中的位置)访问元素,并搜索列表中的元素
List 通常允许重复的元素、允许 null 元素
抽象方法
主要子类, ArrayList 、 LinkedList 、 Vector
Map
vector
Vector 类实现了可扩展的对象数组。 像数组一样,它包含可以使用整数索引访问的组件。 但是, Vector的大小可以变化。
Vector 是同步的,是线程安全的。
Vector 继承了 AbstractList 类,实现了 List 接口
默认大小是10,当容量不足时,默认扩容方式是按倍增长 子类, Stack
stack
Stack 类代表后进先出(LIFO)堆栈的对象, Stack 继承自 Vector 所以它有所有 Vector 中的方法。
public class Stack
常用方法
心得
收假回来第一天,没怎么习惯作息时间,学习效率有点差,但今天讲得不是很多,可以不回来。希望时间能调过来
近期评论