分享好友 最新动态首页 最新动态分类 切换频道
java数据结构1--数组、排序和Arrays工具类
2024-12-26 21:49
  • 数组的定义
  • 数组的内存结构
  • 数组定义常见问题
  • 数组常见操作
  • Java参数传递问题--值传递
  • 二维数组

同一种类型数据的集合,可以是基本数据类型,也可以是引用数据类型。

java数据结构1--数组、排序和Arrays工具类

数组的特点:

  1. 数组存储的都是相同数据类型的元素(相同数据类型
  2. 数组的长度也就是数组中元素的个数(固定长度
  3. 元素从0开始编号,编号也称“索引”:index(下标,角标)(从零开始
  4. 数组中元素的访问方式是通过数组名+索引的方式:arr[1](索引访问

 

数组的定义格式

 

初始化方式1:
动态初始化:数组的创建和元素的赋值分开进行
格式:
元素类型[] 数组名 = new 元素类型[数组长度];
int[] arr = new int[3];

 


初始化方式2:
静态初始化:数组创建时就给数组元素赋值
格式:
元素类型[] 数组名 = new 元素类型[]{元素1,元素2,…};
int[] arr = new int[]{2,0,3,1};
静态初始化的简化写法
int[] arr = {2,0,3,1};

直接打印数组类型的变量,会发现结果是一段看不懂的字符串,这就是引用数据类型变量的特点,它实际上代表的是一段内存空间的十六进制表示形式.真正的数据在JVM的堆内存空间中。

note:动态初始的构成元素都是默认是初始化成默认值的。

Java程序在运行时,为了提高运行效率,对内存进行了不同区域的划分,每一种区域都有特定的处理数据的方式和内存管理方式
主要有以下几种:

  • 栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放
  • 堆内存:存放数组和对象,通过new建立的实例都存放在堆内存中

每一个实例都有内存地址值
实例中的变量都有默认初始化值
当实例不再被使用,会在不确定的时间被垃圾回收器回收

  • 方法区:存放类文件和方法(面向对象部分再讲解)
  • 本地方法栈:供本地方法使用,与操作系统相关
  • 程序计数器--Program Counter:对字节码文件计数

数组的内存结构:不属于四类八种,所以占用两种内存

数组遍历:依次访问每个元素,访问的次数就是元素的个数,访问次数的确定:length属性(数组名.length)。

 

7.1二维数组的概念 

7.2 二维数组的定义

注意事项:

1.使用格式1,2时必须指定第一维长度
2.动态,静态初始化不能同时使用

 

7.3二维数组的遍历

8.1冒泡排序:bubble

冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。

 

8.2 比较排序:compare(选择排序:select)

一下皆为静态方法。

  1. binarySearch:复制指定的数组
  2. copyOf:复制指定的数组
  3. copyOfRange:将指定数组的指定范围复制到一个新数组
  4. deepEquals:如果两个指定数组彼此是深层相等
  5. deepToString:返回指定数组“深层内容”的字符串表示形式。
  6. deepHashCode:基于指定数组的“深层内容”返回哈希码。
  7. equals:如果两个指定的 某 型数组彼此相等,则返回 true。
  8. fill: 将指定的 某型 值分配给指定 某 型数组的每个元素。
  9. sort:根据元素的自然顺序对指定某类型数组按升序进行排序。
  10. toString:返回指定数组内容的字符串表示形式。

单独介绍一下二分查找:

最新文章
百度网站收录提交入口 速达百度,一键提交收录,提升网站曝光度
百度网站收录提交:专业指南与高效策略在当今互联网信息爆炸的时代,网站的曝光度与搜索引擎排名直接关联着企业的线上影响力与市场份额作为中国最大的搜索引擎,百度不仅是用户获取信息的主要渠道,也是企业推广自身品牌、产品和服务的关键
词汇“writing style”的中英文读音、翻译、用法及例句
双语使用场景The writing style of this poem is novel and unconventional.───这首诗写的新颖别致,不落俗套.This article is the author's work that best displays his writing style.───这篇文章是最突显作者写作风格的一部作品.W
搜狗高速浏览器 v12.2.6056.400最新版
搜狗高速浏览器是目前互联网上最快速最流畅的新型浏览器,与拼音输入法、五笔输入法等产品一同成为您高速上网的必备工具。搜狗高速浏览器拥有国内首款“真双核”引擎,采用多级加速机制,能大幅提高您的上网速度,独创的预取引擎技术,精准
默契问答游戏规则?
这里不知道说你要问的是默契问答游戏规则,还是说你能接受异地恋问题。默契规则的话,他就是说你要不再提醒?对方的时间里,两个人答的答案是一样的,同一个问题答的问答案必须是相同的。关于异地恋这个问题的话,我自己是能接受的,因为现
高效广告优化指南,竞价推广账户思维革新策略
竞价推广账户优化,关键在于策略。精准定位目标受众,提高广告投放精准度;优化关键词策略,提高关键词质量和相关性;优化广告创意,提升点击率;合理调整出价策略,实现效果最大化。掌握这些关键策略,助力广告效果显著提升。随着互联网的
百度音乐人上传歌曲
在百度音乐的世界里,梦想和才华相遇,音乐与热情共舞。这是一个让音乐人的声音得到展现的舞台,一个让热爱音乐的人们汇聚的家园。百度音乐人,这个寄托了无数音乐梦想的地方,孕育着一颗颗音乐之星的诞生。这里没有局限,只有尽情释放自我
喵趣漫画官方正版最新版
喵趣漫画官方正版最新版是一款方便且充满乐趣的漫画阅读应用,软件每日更新原创漫画作品,为读者带来全新阅读体验。智能推荐相关漫画,让阅读更个性化。喵趣漫画最新版打破时空限制,随时随地畅享阅读乐趣。无论身处何地,只需打开App,精
给WordPress用户的十五款实用工具
如果你使用开源博客平台WordPress,你会发现网上有非常多的工具可以助你提高工作效率,确保你的WordPress站点顺利运行。这篇文章将聚集这些非常方便的应用程序、插件以及浏览器扩展来帮助你完成各种博客任务,涉及的范围涵盖简单的抓屏到Wo
云南马帮普洱茶价格一览:深度解析市场行情与收藏价值指南
云南马帮普洱茶价格一览:深度解析市场行情与收藏价值指南普洱茶源自中国云南省以其独有的发酵工艺和陈化特性深受广大茶友的喜爱。从古至今,云南的马帮文化为普洱茶的传播和发展提供了关键的推动力。本文将深入探讨云南马帮普洱茶的市场行
旧房墙面翻新简单方法,旧房墙面翻新步骤有哪些
老房子或多或少都存在一些问题,尤其是墙面这个大面积区域,例如出现开裂或者脱落的情况,直接影响到居家的美观性。那么,接下来装信通小编就为大家分享旧房墙面翻新简单方法及步骤,赶快学习起来吧!旧房墙面翻新简单方法:1、手绘这种方法
相关文章
推荐文章
发表评论
0评