邹瑞20201007

总结

内存

不关我们是创建基本数据类型的变量还是引用数据类型的变量,jvm都会通过内存分布去编译和运行程序。

内存一般分为栈区、堆区、方法区(方法区里面包含常量池)

栈区一般存放变量(局部变量)、方法的参数引以及用对象

堆区一般存放的是对象以及成员变量

方法区一般存放方法 里面常量池存放常量

不管你是要创建变量还是对象在内存里面都会开辟内存空间

程序---(准备执行)------>Java虚拟机---(申请内存)---->操作系统

然后按级分配内存。

集合

java 中针对数组的缺陷,提供了一种比数组灵活、使用方便的接口和类,它们位于 java.util 包,称 为集合框架。
java 中的集合框架主要从三个方面入手:

  1. java.lang.Iterable

    Iterable接口,凡是实现了此接口的对象都能称为for-each-loop的目标

    for(数据类型 变量名 :循环对象){

    ​ //循环体

    }//变量是循环对象的值,不是索引iterator()返回一个类型的迭代器。

  2. 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 extends Vector

常用方法

心得

收假回来第一天,没怎么习惯作息时间,学习效率有点差,但今天讲得不是很多,可以不回来。希望时间能调过来

标签

评论

this is is footer