1. 描述

Arrays工具类提供了针对数组(Array)的一些操作,比如排序、搜索、将数组(Array)转换列表(List)等等,都为静态(static)方法:

  1. binarySearch - 使用二进制搜索算法来搜索指定数组,以获得指定对象。在进行此调用之前,必须根据指定的比较器(通过上面的 Sort(Object[]、Comparator) 方法)对数组进行升序排序。
  2. deepToString - 返回指定嵌套(多维)数组的字符串表示形式。
  3. equals - 判断两个数组是否相等
  4. fill - 给数组赋值
  5. sort - 对数组进行排序,有多种实现。可以自定义比较器,可以自定义排序起止位置。
  6. toString - 返回指定数组内容的字符串表示形式。
  7. toList - 返回一个受指定数组支持的固定大小的列表。

数组(Array)与列表(List)可以互相转换,通过Arrays工具类的asList方法及List接口的toArray()方法。

2. 示范代码

package com.clzhang.sample.collections;

import java.util.*;

import org.junit.Test;

public class ArraysTest {

    @Test
public void testToString() {
final int ARRAY_SIZE = 10;
int[] array1 = new int[ARRAY_SIZE];
for (int i = 0; i < ARRAY_SIZE; i++)
array1[i] = i; // toString用法
System.out.println("Arrays.toString用法:" + Arrays.toString(array1)); final int DEEP_ARRAY_SIZE = 3;
int[][] array2 = new int[DEEP_ARRAY_SIZE][DEEP_ARRAY_SIZE];
for (int i = 0; i < DEEP_ARRAY_SIZE; i++)
for (int j = 0; j < DEEP_ARRAY_SIZE; j++)
array2[i][j] = i + j; // deepToString用法
System.out.println("Arrays.deepToString用法:" + Arrays.deepToString(array2));
} @Test
public void testOther() {
final int ARRAY_SIZE = 5;
int[] array = new int[ARRAY_SIZE]; // fill填充
Arrays.fill(array, 5);
System.out.println("fill后值:" + Arrays.toString(array)); // sort排序,先填充随机值,然后排序
Random random = new Random();
for (int i = 0; i < ARRAY_SIZE; i++)
array[i] = random.nextInt(ARRAY_SIZE * 10);
System.out.println("原始顺序:" + Arrays.toString(array));
Arrays.sort(array);
System.out.println("sort后顺序:" + Arrays.toString(array)); // binarySearch搜索,先设置一个值,然后找
array[3] = 37;
int pos = Arrays.binarySearch(array, 37);
System.out.println("查找到的位置:" + pos); // Arrays.asList方法调用
String[] strarray = new String[ARRAY_SIZE];
for (int i = 0; i < ARRAY_SIZE; i++)
strarray[i] = "str" + i;
System.out.println("Arrays.asList将Array转换为List后,对List遍历:");
List<String> list = Arrays.asList(strarray);
for (String str : list)
System.out.println(str); // List接口的toArray方法调用
System.out.println("List接口的toArray方法将List转换为Array后,对Array遍历:");
String[] secondStrArray = (String[]) list.toArray();
for (int i = 0; i < secondStrArray.length; i++)
System.out.println(secondStrArray[i]);
}
}

输出:
fill后值:[5, 5, 5, 5, 5]
原始顺序:[20, 45, 48, 14, 13]
sort后顺序:[13, 14, 20, 45, 48]
查找到的位置:3
Arrays.asList将Array转换为List后,对List遍历:
str0
str1
str2
str3
str4
List接口的toArray方法将List转换为Array后,对Array遍历:
str0
str1
str2
str3
str4
Arrays.toString用法:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Arrays.deepToString用法:[[0, 1, 2], [1, 2, 3], [2, 3, 4]]

Java:集合,Arrays工具类用法的更多相关文章

  1. Java 集合-Arrays工具类的介绍

    2017-10-31 18:39:46 Arrrays工具类:此类包含用来操作数组(比如排序和搜索)的各种方法. 常用方法: 主要是数组的一些常用方法如: asList:将数组转成集合 binaryS ...

  2. Java集合——Collections工具类

    Java集合——Collections工具类 摘要:本文主要学习了Collections工具类的常用方法. 概述 Collections工具类主要用来操作集合类,比如List和Set. 常用操作 排序 ...

  3. java集合框架——工具类

    一.概述 JAVA集合框架中有两个很重要的工具类,一个是Collections,另一个是Arrays.分别封装了对集合的操作方法和对数组的操作方法,这些操作方法使得程序员的开发更加高效. public ...

  4. java 集合Collections 工具类:排序,查找替换。Set、List、Map 的of方法创建不可变集合

    Collections 工具类 Java 提供1个操作 Set List Map 等集合的工具类 Collections ,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了将集合 ...

  5. java 13-2 Arrays工具类

    1.Arrays:针对数组进行操作的工具类.比如说排序和查找. 1:public static String toString(int[] a) 把数组转成字符串  2:public static v ...

  6. 在Java中Arrays工具类实现功能的六种方法

    使用Arrays工具类,要先导入包即:import.java.util.Arrays 以下是实现六种功能的方法: 1.比较两个数组值是否相等: 结果为true.false.(布尔型不能比较) int ...

  7. JAVA基础——Arrays工具类十大常用方法

    Arrays工具类十大常用方法 原文链接:http://blog.csdn.net/renfufei/article/details/16829457 0. 声明数组 String[] aArray ...

  8. java 基础 ----- Arrays 工具类

    -----  Arrays  工具类是一个比较方便的类 常用的方法 也可以通过jdk文档进行查看    右侧有偶 对一些比较常用的方法进行演示   直接放在main方法中进行测试 ----   equ ...

  9. Java集合----Collection工具类

    Collections 工具类 Collections 是一个操作 Set.List 和 Map 等集合的工具类 Collections 中提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了 ...

随机推荐

  1. add-binary 字符串操作,二进制字符串相加

    Given two binary strings, return their sum (also a binary string). For example,a ="11"b =& ...

  2. (二)用控制器controller给模型数据赋初始值

    之前博客,非常easy的就实现了模型数据和页面显示的自己主动绑定.如今我们使用控制器,给模型赋初始值. 假设使用jquery来实现变量赋初值,须要在页面载入完毕后运行$("#target&q ...

  3. 转 解决在X64 RedHat5.1 下以编译方式安装PHP 出现的种种问题

    不知道大家有没有遇到在  X64 RedHat5 或者 RedHat4 下.编译安装PHP环境的时候. 安装了libxml,zlib,jpeg,libpng,freetype,libart_lgpl, ...

  4. RHEL7 MariaDB测试

    MariaDB安装及启动: yum groupinstall mariadb 启动mariadb systemctl restart mariadb systemctl enable mariadb ...

  5. 了解 node.js

    原文为: 我们为什么要使用NodeJS 写的好,就收藏于此,供学习之用. 科普文一则,说说我对NodeJS(一种服务端JavaScript实现)的一些认识,以及我为什么会向后端工程师推荐NodeJS. ...

  6. 在执行context.getContentResolver.query()方法时出现错误。

    1. 在执行context.getContentResolver.query()方法时出现错误. 07-15 18:46:13.470: E/AndroidRuntime(13624): FATAL ...

  7. ios中LeveyPopListView 弹出view的用法

    下载地址https://github.com/levey/LeveyPopListView 是arc,  如果是非arc项目要设置一下 方法 选中工程->TARGETS->相应的targe ...

  8. 内存问题排查工具 --- valgrind

    1. 概述 2. Valgrind 3. 内存泄漏监测 3.1. 示例代码 3.2. 编译它 3.3. 用Valgrind监测进程的内存泄漏 4. 悬挂指针 4.1. 示例代码 4.2. Valgri ...

  9. linux命令大全之watch命令详解(监测命令运行结果)

    watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行.在Linux下,watch是周期性的执行下个 ...

  10. Nginx+FastCGI运行原理(一)

    1 实战Nginx与PHP(FastCGI)的安装.配置与优化 1.1 什么是 FastCGI FastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTT ...