java中的两种排序工具Arrays和Collections的使用

简介: java中的排序工具主要是有两个Arrays和Collections。我们一个一个来讲解。本来写好了每一种方法的测试代码,后来又给删了,因为我觉得如果想要去了解的话,可以直接查看这些常用的即可。因为使用起来真的太简单。篇幅太长也不好。

一、Arrays


Arrays类位于 java.util 包中,主要包含了操纵数组的各种方法。

1、Array.sort(Object[] array):

对数组按照升序排序

2、Arrays.sort(Object[] array, int from, int to):

对数组元素指定范围进行排序(排序范围是从元素下标为from,到下标为to-1的元素进行排序

3、Arrays.fill(Object[] array,Object object):

可以为数组元素填充相同的值

4、Arrays.fill(Object[] array,int from,int to,Object object):

对数组的部分元素填充一个值,从起始位置到结束位置,取头不取尾

5、Arrays.toString(Object[] array):

返回数组的字符串形式

6、Arrays.deepToString(Object arrays):

返回多维数组的字符串形式。

7、Arrays.binarySearch(Object[] array,element);

在数组array中查找element。并返回下表


二、Collections


Collections是针对集合类的一个帮助类,它提供了一系列静态方法实现了对各种集合的排序,搜索和线程安全等操作。


1.Shuffle(element):洗牌方法,将当前集合内的数据进行随机排序。

2.Reverse(element):逆序排序,对当前集合的元素按照相反的顺序进行排序

3.Sort(element):对当前集合进行升序排序,实现Comparable接口的类,只能使用一种排序方案,这种方案叫作“自然比较”方案。

4.binarySearch(Collection,Object):查找指定集合中的元素,返回所查找元素的索引

5.max(Collection),max(Collection,Comparator):

前者采用Collection内含自然比较法,后者采用Comparator进行比较

6、indexOfSubList(List list,List subList)

查找subList在list中首次出现位置的索引

7、replaceAll(List list,Object old,Object new):

替换批定元素为某元素,若要替换的值存在刚返回true,反之返回false

8、rotate(List list,int m):

集合中的元素向后移m个位置,在后面被遮盖的元素循环到前面来

9、copy(List m,List n):

将集合n中的元素全部复制到m中,并且覆盖相应索引的元素

相关文章
|
22天前
|
监控 Java 测试技术
Java开发现在比较缺少什么工具?
【10月更文挑战第15天】Java开发现在比较缺少什么工具?
32 1
|
9天前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
36 17
|
14天前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
|
14天前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
|
17天前
|
Web App开发 Java
使用java操作浏览器的工具selenium-java和webdriver下载地址
【10月更文挑战第12天】Selenium-java依赖包用于自动化Web测试,版本为3.141.59。ChromeDriver和EdgeDriver分别用于控制Chrome和Edge浏览器,需确保版本与浏览器匹配。示例代码展示了如何使用Selenium-java模拟登录CSDN,包括设置驱动路径、添加Cookies和获取页面源码。
|
1月前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
35 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
|
28天前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
35 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
29天前
|
Java C++
做了个Java打包工具,可以双击启动了!
本文介绍了作者日常使用Java和Swing进行开发的经验,以及Java程序分发时遇到的问题,如需要JRE环境。文中列举了几种常见的Java程序打包方法,并对比了各自的优缺点,最后作者结合这些方案,利用Winform开发了一款工具,将Java程序打包成二进制可执行文件,简化了分发流程。
做了个Java打包工具,可以双击启动了!
|
1月前
|
存储 搜索推荐 算法
【用Java学习数据结构系列】七大排序要悄咪咪的学(直接插入,希尔,归并,选择,堆排,冒泡,快排)以及计数排序(非比较排序)
【用Java学习数据结构系列】七大排序要悄咪咪的学(直接插入,希尔,归并,选择,堆排,冒泡,快排)以及计数排序(非比较排序)
22 1
|
1月前
|
SQL 安全 Java
JAVA代码审计SAST工具使用与漏洞特征
JAVA代码审计SAST工具使用与漏洞特征
32 2