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 中提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了 ...
随机推荐
- ubuntu 下 cajview 替代方案
.caj 是知网提供的论文的标准格式,但是,知网只提供 win 版的工具.这里尝试了两个两个方案,均可行,做一下记录在此. 1. 使用 wine 版的 cajview pdf 可以正常用,但是 ca ...
- 关于0xFFFFFFFF和alpha,温故而知新
做图像处理都好多年了,今天随手做个小画板的时候,发现一个挺有趣的小坑.而其实这个小坑,以前也坑过自己,不过太久没处理了,又踩到坑里了. 先来看看:0xFFFFFFFF>>24 这个结果是什 ...
- oracle-sakila-db sakila的Oracle版本
在Sakila——MySQL样例数据库解析 中,学习了sakila for mysql的表结构.并把它作为数据仓库.ODI ETL学习的源数据库.ODI Studio拓扑结构的创建与配置 后来发现OD ...
- Xamarin.Android之ListView和Adapter
一.前言 如今不管任何应用都能够看到列表的存在,而本章我们将学习如何使用Xamarin去实现它,以及如何使用适配器和自定义适配器(本文中的适配器的主要内容就是将原始的数据转换成了能够供列表控件显示的项 ...
- urllib2特点--urllib2.build_opener对象接口
# -*- coding: cp936 -*- #python 27 #xiaodeng #urllib2特点--urllib2.build_opener对象接口 import urllib2 imp ...
- java开发微信模板消息推送
发布时间:2018-12-12 技术:springboot+maven 概述 该demo主要涉及微信模板消息推送功能, 详细 代码下载:http://www.demodashi.com/dem ...
- java代码行数计算器
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util. ...
- git的几个操作
git reference https://git-scm.com/docs 克隆 从远程仓库克隆一个项目到本地文件夹,命令如下:$ git clone https://github.com/libg ...
- 阿里面试的一点感受 阿里ali片式经历和面试题
阿里面试的一点感受 <!-- [废话开始] 百度实习三个月,明天就要离职了,感觉还挺开心的,同事们都很照顾我,Boss也比较欣赏我,我很满足了.掐指一算,这大四其实也没几个月了,同事们都在感叹大 ...
- Fedora下使用minicom及USB串口线
一.minicom Fedora不像以前的RedHat,不能直接输入minicom回车,因为在目录/dev/下面没有modem这个子目录,而minicom的运行默认是有这个目录的,所以直接敲是不行的. ...