Java:集合,Arrays工具类用法
1. 描述
Arrays工具类提供了针对数组(Array)的一些操作,比如排序、搜索、将数组(Array)转换列表(List)等等,都为静态(static)方法:
- binarySearch - 使用二进制搜索算法来搜索指定数组,以获得指定对象。在进行此调用之前,必须根据指定的比较器(通过上面的 Sort(Object[]、Comparator) 方法)对数组进行升序排序。
- deepToString - 返回指定嵌套(多维)数组的字符串表示形式。
- equals - 判断两个数组是否相等
- fill - 给数组赋值
- sort - 对数组进行排序,有多种实现。可以自定义比较器,可以自定义排序起止位置。
- toString - 返回指定数组内容的字符串表示形式。
- 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工具类用法的更多相关文章
- Java 集合-Arrays工具类的介绍
2017-10-31 18:39:46 Arrrays工具类:此类包含用来操作数组(比如排序和搜索)的各种方法. 常用方法: 主要是数组的一些常用方法如: asList:将数组转成集合 binaryS ...
- Java集合——Collections工具类
Java集合——Collections工具类 摘要:本文主要学习了Collections工具类的常用方法. 概述 Collections工具类主要用来操作集合类,比如List和Set. 常用操作 排序 ...
- java集合框架——工具类
一.概述 JAVA集合框架中有两个很重要的工具类,一个是Collections,另一个是Arrays.分别封装了对集合的操作方法和对数组的操作方法,这些操作方法使得程序员的开发更加高效. public ...
- java 集合Collections 工具类:排序,查找替换。Set、List、Map 的of方法创建不可变集合
Collections 工具类 Java 提供1个操作 Set List Map 等集合的工具类 Collections ,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了将集合 ...
- java 13-2 Arrays工具类
1.Arrays:针对数组进行操作的工具类.比如说排序和查找. 1:public static String toString(int[] a) 把数组转成字符串 2:public static v ...
- 在Java中Arrays工具类实现功能的六种方法
使用Arrays工具类,要先导入包即:import.java.util.Arrays 以下是实现六种功能的方法: 1.比较两个数组值是否相等: 结果为true.false.(布尔型不能比较) int ...
- JAVA基础——Arrays工具类十大常用方法
Arrays工具类十大常用方法 原文链接:http://blog.csdn.net/renfufei/article/details/16829457 0. 声明数组 String[] aArray ...
- java 基础 ----- Arrays 工具类
----- Arrays 工具类是一个比较方便的类 常用的方法 也可以通过jdk文档进行查看 右侧有偶 对一些比较常用的方法进行演示 直接放在main方法中进行测试 ---- equ ...
- Java集合----Collection工具类
Collections 工具类 Collections 是一个操作 Set.List 和 Map 等集合的工具类 Collections 中提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了 ...
随机推荐
- MySQL 简单存储过程实现Redis的INCR功能
USE test; DROP PROCEDURE IF EXISTS pro_testincrement; DELIMITER && CREATE PROCEDURE pro_test ...
- Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理
Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理 2017年01月04日 08:52:12 阅读数:18366 基于Lucene检索引擎我们开发了自己的全文检索系统,承担起后台PB ...
- 【Linux】常见Linux默认的shell
常见的操作系统下的shell: Linux下默认的shell是Bourne Again shell(bash) Solaris和FreeBSD下默认的是Bourne shell(sh) AIX系统下默 ...
- C#与Java同步加密解密DES算法
在实际项目中,往往前端和后端使用不同的语言.比如使用C#开发客户端,使用Java开发服务器端.有时出于安全性考虑需要将字符加密传输后,由服务器解密获取.本文介绍一种采用DES算法的C#与Java同步加 ...
- SpringBoot配置RestTemplate的代理和超时时间
application.properties: #代理设置 proxy.enabled=false proxy.host=192.168.18.233 proxy.port=8888 #REST超时配 ...
- Linux特殊的文件控制权限FACL
对文件设置特殊的权限,FACL(File Access Control List) ACL简介 基本ACL操作 getfacl 查看文件权限 setfacl 设定acl权限 设置file ...
- weblogic11g重置账户
weblogic重置用户名密码 00.备份域下的认证文件 备份%DOMAIN_HOME%/security/DefaultAuthenticatorInit.ldift #当前的默认密码认证 01. ...
- Naive Bayes Classifier 朴素贝叶斯分类器
贝叶斯分类器的分类 根据实际处理的数据类型, 可以分为离散型贝叶斯分类器和连续型贝叶斯分类器, 这两种类型的分类器, 使用的计算方式是不一样的. 贝叶斯公式 首先看一下贝叶斯公式 $ P\left ( ...
- 转:3d max 2013 安装教程,凭着一种互联网精神提供给广大朋友
看到有人在ps区咨询如何安装3d max教程,当你进行第一步之前,请先断开网络连接第一步:运行安装程序 第二步:接受安装协议,点击下一步会提示输入序列号 第三步:你会看到已经安装完成了的界面 第四部: ...
- 【laravel5.*】运行 php artisan --version报错:PHP Parse error: syntax error, unexpected T_CLASS, expecting T_STRING or T_VARIABLE or '$' in /www/web/crm/artisan on line 31
1. 出现以上问题 是因为 php版本低于5.6, 因为我系统原有的默认php是5.3,装laravel的php是指定的5.6.21版本,所以在执行 laravel对应的php artisan . p ...