JAVA整理学习实例(三)数组和其内存结构

JAVA整理学习实例(三)数组和其内存结构

注:文章基于一维数组。另外,老铁们可以先了解下什么是逻辑结构和存储结构。只有站得高才能看远,所以多了解一些,多知道一些,就更容易融会贯通。

前言

       数组是很基础且很重要的数据结构之一;对于很多老铁来说,数组应该是一个很清晰的概念了;但是后面想写一些关于集合的东西,所想把数组单独拿出来说一下。

简介:什么是数组?


数组是一种数据结构,用来存储同一类型数据的集合,是为一组数据,简称数组。

1.在Java中,数组对象是一个引用数据类型,所以在创建数组的时候,对象是在堆内存中。

2.Java的数组,可以存储基本数据类型的数据,也可以存储引用数据类型(对象的引用)的数据。

3.数组在内存中创建的时候,是一个长度固定,内存地址连续的内存数据块(这里不知道如何形容)。

4.Java中,数组都是用“数组中的首元素在内存中的地址”作为整个数组对象的内存地址。

5.数组中所有元素都有下标,下标从0开始,加1递增。

数组的排序


冒泡排序、插入排序、选择排序、快速排序、归并排序等。

数组的扩容


在Java中,数组在创建时,确定好数组的长度以后,就无法再改变。

1.如果需要在运行时增加长度;那就只能新建一个更大的数组,将数据全部copy过去。

2.同样的减少一个数组的长度,也是如此操作。

数组的应用


1.HashMapHashTable 数组+链表(红黑树)

2.ArrayListVector

唠叨

看技术类的文章,有些知识要点不要尝试去记住它。而是仔细阅读文档,尝试去理解它;多思考,一个东西为什么会出现,又经历了如何的变化,才会演化成现在的样子。当你能思考完,并且理解后,很多问题自然而然就能联系到一起去。面试被问到的时候就不会担心问的问题被扩展开。

写博客翻资料的时候,看到别人的写东西,都觉得自己好辣鸡,写的都没劲了。

不过写东西的时候,确实对巩固知识和学习记忆有很大帮助,建议大家都写博客。

你可能感兴趣的:(学习,编程学习,工作与生活,java,学习,开发语言)