Java学习笔记(七)——操作数组工具类Arrays

这篇具有很好参考价值的文章主要介绍了Java学习笔记(七)——操作数组工具类Arrays。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Arrays

操作数组的工具类。

Java学习笔记(七)——操作数组工具类Arrays,学习笔记,java,学习,笔记

Arrays.toString()

import java.util.Arrays;

public class test40 {
    public static void main(String[] args) {
        int[] ints = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        String str = Arrays.toString(ints);
        System.out.println(str);  //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    }
}

Java学习笔记(七)——操作数组工具类Arrays,学习笔记,java,学习,笔记

Arrays.binarySearch()

import java.util.Arrays;

public class test40 {
    public static void main(String[] args) {
        int[] ints = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        int index = Arrays.binarySearch(ints, 10);
        System.out.println(index);
    }
}

Java学习笔记(七)——操作数组工具类Arrays,学习笔记,java,学习,笔记

Java学习笔记(七)——操作数组工具类Arrays,学习笔记,java,学习,笔记

Arrays.copyOf()

如果新数组的长度小于原始数组的长度——部分拷贝

如果新数组的长度等于原始数组的长度——完全拷贝

如果新数组的长度大于原始数组的长度——完全拷贝+补上默认初始化值0

import java.util.Arrays;

public class test40 {
    public static void main(String[] args) {
        int[] ints = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        int[] ints1 = Arrays.copyOf(ints, 5);
        System.out.println(Arrays.toString(ints1));  //[1, 2, 3, 4, 5]
    }
}

Java学习笔记(七)——操作数组工具类Arrays,学习笔记,java,学习,笔记

Arrays.copyOfRange()

范围:包头不包尾

import java.util.Arrays;

public class test40 {
    public static void main(String[] args) {
        int[] ints = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        int[] ints1 = Arrays.copyOfRange(ints, 3, 5);
        System.out.println(Arrays.toString(ints1));  //[4, 5]
    }
}

Java学习笔记(七)——操作数组工具类Arrays,学习笔记,java,学习,笔记

Arrays.fill()

import java.util.Arrays;

public class test40 {
    public static void main(String[] args) {
        int[] ints=new int[10];
        Arrays.fill(ints,0);
        System.out.println(Arrays.toString(ints));  //[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    }
}

Java学习笔记(七)——操作数组工具类Arrays,学习笔记,java,学习,笔记

Arrays.sort()

默认使用升序排序。

底层使用的是快速排序。

import java.util.Arrays;

public class test40 {
    public static void main(String[] args) {
        int[] ints = {5, 4, 8, 2, 4, 7, 6, 3, 0, 1, 9, 10};
        Arrays.sort(ints);
        System.out.println(Arrays.toString(ints));  //[0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 10]
    }
}

Java学习笔记(七)——操作数组工具类Arrays,学习笔记,java,学习,笔记

要想改变排序顺序:

Java学习笔记(七)——操作数组工具类Arrays,学习笔记,java,学习,笔记

第二个参数是一个接口,在调用方法的时候,要传递这个接口的实现类对象,作为排序的规则。

底层原理:插入排序+二分查找

默认把0索引的数据当作是有序的序列,1索引到最后是无序的序列。

遍历无序序列里面的每一个元素,假设当前遍历的元素是A,

利用二分查找确定A的插入点,拿着A跟插入点的元素进行比较,

比较的规则是Comparator<>(),

如果方法返回值是负数,拿着A继续跟前面的数据进行比较,

如果方法返回值是正数,拿着A继续跟后面的数据进行比较,

如果方法返回值是0,拿着A继续跟后面的数据进行比较,

直到确定A的最终位置。

compare(Integer o1, Integer o2):

o1:表示在无序序列中,遍历得到的每一个元素

o2:有序序列中的元素

返回值:

负数:表示当前要插入的元素小,放在前面

正数:表示当前要插入的元素大,放在后面

0:表示当前要插入的元素跟当前元素一样,也是放在后面文章来源地址https://www.toymoban.com/news/detail-812204.html

升序排序
import java.util.Arrays;
import java.util.Comparator;

public class test40 {
    public static void main(String[] args) {
        Integer[] integers = {5, 4, 8, 2, 4, 7, 6, 3, 0, 1, 9, 10};
        Arrays.sort(integers, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1-o2;
            }
        });
        System.out.println(Arrays.toString(integers));  //[0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 10]
    }
}
降序排序
import java.util.Arrays;
import java.util.Comparator;

public class test40 {
    public static void main(String[] args) {
        Integer[] integers = {5, 4, 8, 2, 4, 7, 6, 3, 0, 1, 9, 10};
        Arrays.sort(integers, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2-o1;
            }
        });
        System.out.println(Arrays.toString(integers));  //[10, 9, 8, 7, 6, 5, 4, 4, 3, 2, 1, 0]
    }
}

到了这里,关于Java学习笔记(七)——操作数组工具类Arrays的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java创建一个长度为10的数组,利用Arrays.sort(), 为数组元素排序

    程序要求:1)创建一个整型数组,数组的长度为10.                     2)给数组元素赋值,要求乱序。                   3)利用fori循环将数组元素依次输出。                      4)利用Arrays.sort(), 为数组元素排序                   5)采用增加for循环将

    2024年02月08日
    浏览(52)
  • Java中合并两个数组的4种方法(How to Merge Two Arrays in Java)

    int[] arr1={1, 2, 3, 4, 5, 6}; //first array int[] arr2={7, 8, 9, 0}; //second array int[] arr3={1, 2, 3, 4, 5, 6, 7, 8, 9, 0} //resultant array There are following ways to merge two arrays: 1.Java arraycopy() method 2.Without using arraycopy() method 3.Java Collections 4.Java Stream API Java arraycopy() is the method of System class which belongs to java.la

    2024年02月11日
    浏览(42)
  • Java 浅谈数组(Array)和列表(ArrayList)的区别 介绍Arrays常用方法

    目录 一.数组和列表的区别 1.数组(Array) (1)数组(Array) (2)数组的声明与创建 (3)多维数组 (4)数组的优缺点 2.列表(ArrayList) (1)列表(ArrayList) (2)列表的声明与创建 (3)列表的优缺点 3.数组(Array)与列表(ArrayList)的区别 (1)空间大小 (2)存储内容

    2023年04月09日
    浏览(53)
  • JavaSE_2.1——数组之Arrays工具类

    Java提供了一个专门用于操作数组的工具类,即Arrays类,位于Java. util包下【需要导入】。该类提供了一系列方法来操作数组,例如排序、赋值、比较、填充数组 等,用户直接调用这些方法即可【例如:Arrays.sort(数组名)】,这样就降低了开发难度。 方法 返回类型 说明 `equals

    2024年02月13日
    浏览(62)
  • Java学习笔记:爬虫-Selenium高级操作

    Selenium VS Jsoup Jsoup 优点:程序的可控性强,不依赖于外部环境,容错性比较强,并发处理更灵活,适合于服务器端开发; 缺点:对于复杂页面(ajax、表单数据校验、登录)处理比较麻烦,对于反爬的网站需要做报文头等的设置工作。 Selenium 优点:简单; 缺点:依赖于外部环

    2024年02月06日
    浏览(46)
  • 【java学习—十】操作集合的工具类Collections(8)

         Collections 是一个操作 Set 、 List 和 Map 等集合的工具类      Collections 中提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。      排序操作:     • reverse(List) :反转 List 中元素

    2024年02月06日
    浏览(47)
  • OpenCV各模块函数使用实例(11)--- 矩阵和数组操作(Operations on arrays)

    OpenCV各模块函数使用实例(11) M、 矩阵和数组操作( Operations on arrays ) 本节描述矩阵的基本操作,这些操作是图像处理和其他数组算法实现的基本操作,包括矩阵的运算,特征值和特征向量,范数和逆矩阵,高阶多项式的根等数学运算。矩阵运算包括点积,叉积,卷积,滤

    2024年02月03日
    浏览(36)
  • Java学习笔记:爬虫-操作动态网页的Selenium

    Why Selenium? 有些网页内容是在浏览器端动态生成的,直接Http获取网页源码是得不到那些元素的。 Selenium可以自动启动一个浏览器、打开网页,可以用程序操作页面元素,也可以获得浏览器当前页面动态加载的页面元素。 比如:百度图片的图片是动态加载的。 用法: 1、下载安

    2024年02月13日
    浏览(43)
  • ElasticSearch-学习笔记04【Java客户端操作索引库】

    Java后端-学习路线-笔记汇总表【黑马程序员】 ElasticSearch-学习笔记01【ElasticSearch基本介绍】 【day01】 ElasticSearch-学习笔记02【ElasticSearch索引库维护】 ElasticSearch-学习笔记03【ElasticSearch集群】 ElasticSearch-学习笔记04【Java客户端操作索引库】 【day02】 ElasticSearch-学习笔记05【Spri

    2023年04月09日
    浏览(48)
  • 【JAVA学习笔记】 56 - 开发中如何选择集合实现类,以及Collection工具类

    https://github.com/yinhai1114/Java_Learning_Code/blob/main/IDEA_Chapter14/src/com/yinhai/Collections_.java 目录 项目代码 Collections工具类 一、Collections工具类介绍 1.排序操作: (均为static方法) 2.查找、替换 在开发中,选择什么集合实现类,主要取决于业务操作特点,然后根据集合实现类特性进行 选择

    2024年02月06日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包