小怡分享之Java数组小练习

前言:

🌈✨前面小怡给大家分享了数组的知识,现在小怡给大家分享一些数组的小练习。

1.数组转字符串

代码示例:

使用这个方法后续打印数组就更方便一些,打印出来的是字符串,Java中提供了 java.util.Arrays 包,其中包含了一些操作数组的常用方法。

2.求数组中元素的平均值

代码示例:

执行结果:3.5

这里写了一个方法avg,用了for-each,这里大家看不懂的可以看看小怡的上一篇文章,大家要记得在返回值那里加上double噢。

3.查找数组中的指定元素(顺序查找)

给定一个数组,再给定一个元素,找出该元素在数组中的位置 。

代码示例:

执行结果为:3

这是一个挺简单的代码,简单的使用了一个for循环,相信大家一看就能懂。

4.查找数组中指定元素(二分查找)

针对有序数组,可以使用更高效的二分查找。以升序数组为例,二分数组的思路就是先取中间位置的元素,然后使用待查找元素与数组中间元素进行比较:

有序数组:按照数字大小排列的数组

1.升序:从小到大,eg:1,2,3,4

2.降序:从大到小,eg:4,3,2,1

  • 如果相等,即找到了返回该元素在数组中的下标;
  • 如果小于,以类似方式到数组左半侧查找;
  • 如果大于,以类似方式到数组右半侧查找。

代码示例:

二分查找效率非常高,但前提是数组必须是有序的。在这里我们写了一个方法binarySearch,我们写之前要知道我们应该怎么去实现,二分查找就像每次都对半折一样,所以效率很高,每次都得左下标加上右下标再除以2,这里小怡给大家写了一点注释,大家可以看看。

5.数组排序(冒泡排序)

给定一个数组,让数组升序(降序)排序。

算法思路:

假设排升序:

  1. 将数组中相邻元素从前往后依次进行比较,如果前一个元素比后一个元素大,则交换,一趟下来后最大元素就在数组的末尾;
  2. 依次按上述过程,直到数组中所有的元素都排列好。

代码示例:

冒泡排序性能较低,Java中内置了更高效的排序算法。

默认从小到大排序。

6.数组逆序

给定一个数组,将里面的元素逆序排列。

思路:

设定两个下标,分别指向第一个元素和最后一个元素,交换两个元素的位置。然后让前一个下标自增,后一个下标自减,循环即可。

代码示例:

🌈✨今天的练习分享到这里结束啦,小怡和大家一起分享一起进步一起学习," 默默无闻的人们被送入坟墓,他们由于胆怯,从未尝试着努力过;他们若能接受诱导起步,就很有可能功成名就。------席巴·史密斯"。希望大家也多多练习,这样才能进步哦。

相关推荐
Flittly7 分钟前
【SpringAIAlibaba新手村系列】(9)Text to Image 文本生成图像技术
java·spring boot·agent
Flittly8 分钟前
【SpringAIAlibaba新手村系列】(10)Text to Voice 文本转语音技术
java·spring boot·agent
诸葛大钢铁11 分钟前
Java实现Excel文件合并
java·windows·excel
黎明丶之前15 分钟前
Spring Cloud Gateway 升级与 Bucket4j 限流实践
java·spring cloud
程序员木圭20 分钟前
05-告别逻辑混乱!Java 流程控制让代码学会"判断和循环"
java·后端
yaaakaaang24 分钟前
三、抽象工厂模式
java·抽象工厂模式
kongba00724 分钟前
复刻 Claude Code 项目御马术缰绳系统 harness engineering 落地蓝图
java·linux·服务器
tERS ERTS26 分钟前
Spring Cloud gateway 路由规则
java
ZUNr126 分钟前
手写一个迷你版 @Column:注解到底是怎么工作的?
java
Treh UNFO32 分钟前
MySQL中的通配符
java