在Java中对元素进行排序和搜索
排序和搜索是我们可以对数组执行的基本操作。排序意味着按升序或降序重新排列给定列表或数组的元素,而搜索意味着在列表中查找元素或其索引。
尽管有多种算法可用于执行这些操作,但在本文中,我们将使用其中的一些算法来对 java 中的元素进行排序和搜索。我们将一一研究它们。
方法一:使用数组的内置方法
在本节中,我们将讨论以下有助于对数组中的元素进行排序和搜索的方法。
sort() - 它是 Arrays 类的静态方法,按升序对作为参数传递的数组进行排序。
语法
Arrays.sort(nameOfarray);
binarySearch() - 它也是 Arrays 类的静态方法。它接受两个参数,第一个是需要搜索其元素的数组,第二个是我们需要在该数组中查找的元素。
它返回作为参数传递的元素的索引号。
语法
Arrays.binarySearch(nameOfarray, element);
示例
import java.util.*; public class Srch { public static void main(String args[]) { int araylist[] = {9, 3, 56, 0, -2, -6, 2, 1, 80}; System.out.print("The given unsorted list: "); // for each loop that prints the original array for (int print : araylist) { System.out.print(print + " "); } Arrays.sort(araylist); // method to sort given array System.out.println(); System.out.print("The newly sorted list: "); // for each loop that prints the newly sorted array for (int print : araylist) { System.out.print(print + " "); } System.out.println(); // method to search given element int position = Arrays.binarySearch(araylist, 1); if(position > -1) { System.out.print("Element is available at index: " + position); } else { System.out.print("Element is not available"); } } }
输出
The given unsorted list: 9 3 56 0 -2 -6 2 1 80 The newly sorted list: -6 -2 0 1 2 3 9 56 80 Element is available at index: 3
方法 2:使用我们的自定义逻辑
使用冒泡排序进行排序
算法
步骤 1 - 首先,声明并初始化一个名为“araylist”的数组和一个名为“temp”的整数变量来临时存储移位的元素。
步骤 2 - 使用两个 for 循环将第 i 个位置元素与第 i + 1 个元素进行比较。在第二个 for 循环内创建一个 if 块来检查哪个元素更大,然后我们执行移位操作以升序重新排列这些元素。
第 3 步 - 现在使用每个循环,我们将打印排序后的数组。
示例
public class Bubble { public static void main(String[] args) { int araylist[] = {9, 3, 56, 0, 2, 1, 80}; int temp = 0; System.out.print("The given unsorted list: "); for (int print : araylist) { System.out.print(print + " "); } for (int i = 0; i < araylist.length; i++) { for (int j = i+1; j < araylist.length; j++) { if(araylist[i] > araylist[j]) { temp = araylist[i]; araylist[i] = araylist[j]; araylist[j] = temp; } } } System.out.println(); System.out.print("The newly sorted list: "); for (int print : araylist) { System.out.print(print + " "); } } }
输出
The given unsorted list: 9 3 56 0 2 1 80 The newly sorted list: 0 1 2 3 9 56 80
使用线性搜索进行搜索
算法
第 1 步 - 首先,声明并初始化一个名为“araylist”的数组和一个名为“searchElem”的整型变量,我们将在该数组中搜索该变量。我们还需要两个整数变量“isFound”和“locate”。
第 2 步 - 现在,创建一个 for 循环,该循环将运行到数组的长度。在此循环中,使用 if 块检查数组中是否存在“searchElem”。如果可用,则将其索引存储在变量“locate”中,并将变量“isFound”增加到 1。
第 3 步 - 接下来,我们创建一个 if else 块来检查变量“isFound”是否增加到 1。如果它等于 1,则表示找到了元素,我们将返回索引。如果不是,则将执行 else 块中的语句。
示例
public class Linear { public static void main(String[] args) { int araylist[] = {9, 3, 56, 0, 2, 1, 80}; int searchElem = 0; int isFound = 0; int locate = 0; for(int i = 0; i < araylist.length; i++) { if(searchElem == araylist[i]) { isFound = 1; locate = i; } } if(isFound == 1) { System.out.print("Element is available at index: " + locate); } else { System.out.print("Element is not available"); } } }
输出
Element is available at index: 3
结论
在本文中,我们讨论了如何对数组元素进行排序并执行搜索操作来查找该数组的特定元素。我们可以使用名为“sort()”的内置方法或任何排序和搜索算法。
以上是在Java中对元素进行排序和搜索的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文分析了2025年的前四个JavaScript框架(React,Angular,Vue,Susve),比较了它们的性能,可伸缩性和未来前景。 尽管由于强大的社区和生态系统,所有这些都保持占主导地位,但它们的相对人口

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

Node.js 20通过V8发动机改进可显着提高性能,特别是更快的垃圾收集和I/O。 新功能包括更好的WebSembly支持和精制的调试工具,提高开发人员的生产率和应用速度。

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA

本文介绍了SnakeyAml中的CVE-2022-1471漏洞,这是一个允许远程代码执行的关键缺陷。 它详细介绍了如何升级春季启动应用程序到Snakeyaml 1.33或更高版本的降低风险,强调了依赖性更新

本文使用lambda表达式,流API,方法参考和可选探索将功能编程集成到Java中。 它突出显示了通过简洁性和不变性改善代码可读性和可维护性等好处

本文探讨了在黄瓜步骤之间共享数据的方法,比较方案上下文,全局变量,参数传递和数据结构。 它强调可维护性的最佳实践,包括简洁的上下文使用,描述性
