最近在写代码的过程中发现我们很多地方都会处理数组,有时只是模糊的记得有API可以调用,每次都查文档很是费事儿,适当的总结希望提高开发速度

一、申明数组

数组的申明十分简单也十分的基础,注意第三种申明方式,[ ]里面是不带数字的

String[] Array1 = new String[5];
String[] Array2 = {"a","b","c", "d", "e"};
String[] Array3 = new String[]{"a","b","c","d","e"};

二、打印数组

直接打印数组链表我们会打印出对象的hash值,我们可以先调用Arrays.toString()方法,再打印数组消息

int[] intArray = { 1, 2, 3, 4, 5 };
String intArrayString = Arrays.toString(intArray);
// 直接打印,则会打印出引用对象的Hash值
// [I@7150bd4d
System.out.println(intArray);
// [1, 2, 3, 4, 5]
System.out.println(intArrayString);

三、数组转换为集合

此方法同Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。Arrays.asList(T...a)返回List<T>类型数据,同时可以将该集合当参数传入实例化具体的集合

String[] stringArray = { "a", "b", "c", "d", "e" };
//转换为ArrayList<String>
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);//输出[a, b, c, d, e]
//转换为HashSet<String>
Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
System.out.println(set);//输出[d, e, b, c, a]

四、ArrayList转换为数组

这里用的集合自带的Collection.toArray()方法

String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
String[] stringArr = new String[arrayList.size()];
arrayList.toArray(stringArr);
for (String s : stringArr)
System.out.println(s);

五、合并两个数组

当然也可以用根据Array和Array2的length和来构建新的数组,再为新的数组赋值

int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
// Apache Commons Lang 库
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);

六、数组的反转

不用包的话就倒序遍历数组为新数组赋值就行了

int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);
//[5, 4, 3, 2, 1]
System.out.println(Arrays.toString(intArray));

七、移除元素

这个功能自己单独实现也不难,只是移动数据总是麻烦的

int[] intArray = { 1, 2, 3, 4, 5 };
int[] removed = ArrayUtils.removeElement(intArray, 3);//创建新的数组
System.out.println(Arrays.toString(removed));

Java数组最常用操作方法(Arrays类)的更多相关文章

  1. 13-02 Java 数组高级算法,Arrays类

    冒泡排序 冒泡排序原理 冒泡排序代码: package cn.itcast_01; /* * 数组排序之冒泡排序: * 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 */ pub ...

  2. Java常用API(Arrays类)

    Java常用API(Arrays类) 什么是Arrays类? java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等.其所有方法均为静态方法,调用起来 非常简单. 这里我们 ...

  3. 常用的Arrays类和二维数组以及二分法的介绍

    ---恢复内容开始--- 1.Array类 Array中包含了许多数组的常用操作,较为常见的有: (1)快速输出 import java.util.Arrays; public class Test{ ...

  4. Java数组操作利器:Arrays工具类

    java.util.Arrays提供大量的工具方法来操作数组,这些方法全是静态方法. 1 便捷创建List public static <T> List<T> asList(T ...

  5. 数组的三种声明方式总结、多维数组的遍历、Arrays类的常用方法总结

    1. 数组的三种声明方式 public class WhatEver { public static void main(String[] args) { //第一种 例: String[] test ...

  6. java学习笔记19(Arrays类)

    Arrays类: 此类包含用来操作数组的各种方法(比如升序和搜索): import java.util.Arrays; public class Demo { public static void m ...

  7. 关于Java中数组的常用操作方法

    1. 声明一个数组 String[] arr1 = new String[5]; String[] arr2 = {"a","b","c", ...

  8. java数组的常用函数

    import java.util.*; class 数组索引{ public static void main(String args[]){ //数组中的使用工具:Arrays int[] arr ...

  9. JAVA 数组的常用操作

    目录: 声明数组: 初始化数组: 查看数组长度: 遍历数组: int数组转成string数组: 从array中创建arraylist: 数组中是否包含某一个值: 将数组转成set集合: 将数组转成li ...

  10. java(数组及常用简单算法 )

    数组 数组:数组是存储同一种数据类型数据的集合容器. 数组的定义格式: 数据类型[]  变量名  =  new  数据类型[长度]; 数组的好处:对分配到数组对象中每一个数据都分配一个编号(索引值.角 ...

随机推荐

  1. vscode snnipet of python

    { // Place your snippets for python here. Each snippet is defined under a snippet name and has a pre ...

  2. 【Unity3D】高斯模糊特效

    1 高斯模糊原理 ​ 边缘检测特效中使用了卷积运算进行了边缘检测,本文实现的高斯模糊特效同样使用了卷积运算,关于卷积核和卷积运算的概念,读者可以参考边缘检测特效. ​ 本文完整资源见→Unity3D高 ...

  3. 更专业省心的来了,你没必要研究UE4和Unity官方推流了!

    在当今互联网时代,所有的内容制作者都希望尽可能触达到更多的目标受众,那就需要全平台发布内容并且可以轻松跨平台分享,包括手机.平板电脑.个人电脑以及交互式屏幕,用户能畅快的获得高质量的体验.需求催生了一 ...

  4. vue中添加音频和视频

    视频播放功能 1. 安装vue-video-player npm install vue-video-player --save 或 yarn add vue-video-player --save ...

  5. 【NestJS系列】核心概念:Middleware中间件

    前言 用过express与koa的同学,对中间件这个概念应该非常熟悉了,中间件可以拿到Request.Response对象和next函数. 一般来讲中间件有以下作用: 执行任何代码 对请求与响应拦截并 ...

  6. [apue] 进程环境那些事儿

    main 函数与进程终止 众所周知,main 函数为 unix like 系统上可执行文件的"入口",然而这个入口并不是指链接器设置的程序起始地址,后者通常是一个启动例程,它从内核 ...

  7. hihocoder 1290 DP

    题目利用DP思想,dp[i][j][k]表示robot跑到i行j列目前移动方向为k时,所需要的最小的flip.其中0 <= i <= N,0 <= j <= M,k = rig ...

  8. 弹性数据库连接池探活策略调研(二)——Druid

    前言 在上一篇文章中,我们介绍了弹性数据库连接失效的背景,并探讨了HikariCP连接池探活策略的相关内容.在本文中,我们将会继续探讨另一个线上常用的连接池--Druid,并为您介绍如何在使用Drui ...

  9. MySQL-通过存储过程来添加和删除分区(List分区)

    1.背景原因 当前MySQL不支持在添加和删除分区时,使用IF NOT EXISTS和IF EXISTS.所以在执行调度任务时,直接通过ADD PARTITION和DROP PARTITION不可避免 ...

  10. 在同一个k8s集群中部署多套nginx-controller

    1.nginx-controller部署请参考我的另一篇博客 nginx Ingress Controller Packaged by Bitnami 2.修改values.yaml 不通contro ...