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查看当前用户、存储引擎、日志
#查看MySQL的当前用户 mysql> SELECT USER(); +----------------+ | USER() | +----------------+ | root@local ...
- http2.0 特性
1.HTTP 2.0将只用于https://网址,而 http://网址将继续使用HTTP/1. 查看http协议(chrome F12) 2.异步连接多路复用 HTTP2.0 把消息分解为独立帧,交 ...
- JS-json-1
smarty模板要处理成ajax,所以须要又一次拼接一个html来追加节点. 原先smarty的数组如今须要处理成json数据返回了,服务器端的修改比較小: header("Content- ...
- Generate BKS File( Bouncy Castle KeyStore)
echo "Enter BKS output file name : \c" read filename echo "Enter BKS Password : \c&qu ...
- POJ 3268 Bookshelf 2 动态规划法题解
Description Farmer John recently bought another bookshelf for the cow library, but the shelf is gett ...
- 〖Android〗利用droidsshd在Android手机中开启 sshd,sftp,..
源码下载地址: src: git clone https://code.google.com/p/droidsshd/ apk: http://droidsshd.googlecode.com/fil ...
- 【PMP】十五至尊图
以上是PMP的10大知识领域与5个过程组,在PMP考试中属于必须记忆的知识,该知识来源于PMBOK 第6版 附件为每日练习记忆模板,可以更好的记忆上图 点击下载附件
- PM_LOG
/**查询所有网元的所有粒度**/ SELECT EMS_PM_LOG_ID, SUBNET_ID, AMOID, NE_TYPE, PO_ID, PO_TABLE, GP_BEGIN_TIME, L ...
- 航信电子发票开发(servlet请求方式)
在系统用户交费后,需要打印发票,可以选择普票或者机打票(票据信息在系统中自定义设置的),也可以打印电子发票,这里对接的是航信的电子发票,请求方式非web服务,而是使用servlet通过HTTP请求的方 ...
- keras embeding设置初始值的两种方式
随机初始化Embedding from keras.models import Sequential from keras.layers import Embedding import numpy a ...