Arrays类与Collections类
java.util.Arrays类包含一个静态的工厂,允许数组被视为列表。以下是关于数组的要点:
这个类包含了各种方法来操作数组(比如排序和搜索)。
在这个类中的方法抛出NullPointerException如果指定数组引用为null。
类声明
以下是java.util.Arrays类的声明:
public class Arrays
extends Object
类方法
static <T> List<T> asList(T a)
此方法返回一个受指定数组支持的固定大小的列表。
binarySearch()
此方法搜索指定的指定值。
static <T> int binarySearch(T[] a, int fromIndex, int toIndex, T key, Comparator<? super T> c)
此方法搜索范围指定数组,使用二进制搜索算法来指定对象。
static copyOf()
此方法复制指定的数组
static boolean[] copyOfRange(boolean[] original, int from, int to)
此方法复制指定的数组到一个新的数组的指定范围。
static boolean deepEquals(Object[] a1, Object[] a2)
如果两个指定数组相等此方法返回true。
static String deepToString(Object[] a)
此方法返回指定数组的“深层内容”的字符串表示形式。
static boolean equals(Object[] a, Object[] a2)
如果两个指定对象数组相互相等此方法返回true。
static boolean equals(int[] a, int[] a2)
如果整数的两个指定数组相互相等此方法返回true。
static void fill(Object[] a, Object val)
此方法分配指定的Object引用的对象指定的数组中的每个元素。
static void fill(int[] a, int val)
此分配方法指定数组的指定范围中的每个元素的int值。
static int hashCode(int[] a)
此方法返回基于指定数组的内容的哈希码。
static int hashCode(Object[] a)
此方法返回基于指定数组的内容的哈希码。
static void sort(int[] a)
此方法指定的int型数组排序按数字升序顺序。
static <T> void sort(T[] a, Comparator<? super T> c)
此方法的对象进行排序根据引起的指定比较顺序指定数组。
static String toString(int[] a)
此方法返回指定的int数组内容的字符串表示形式。
static String toString(Object[] a)
此方法返回指定的对象数组内容的字符串表示形式。
工具类Collections用于操作集合类,如List,Set,常用方法有:
1) 排序(Sort)
使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口。此列表内的所有元素都必须是使用指定比较器可相互比较的
2) 混排(Shuffling)
混排算法所做的正好与 sort 相反: 它打乱在一个 List 中可能有的任何排列的踪迹。也就是说,基于随机源的输入重排该 List,这样的排列具有相同的可能性(假设随机源是公正的)。这个算法在实现一个碰运气的游戏中是非常有用的。例如,它可被用来混排代表一副牌的 Card 对象的一个 List .另外,在生成测试案例时,它也是十分有用的。
3) 反转(Reverse)
使用Reverse方法可以根据元素的自然顺序 对指定列表按降序进行排序。
4) 替换所有的元素(Fill)
使用指定元素替换指定列表中的所有元素。
5) 拷贝(Copy)
用两个参数,一个目标 List 和一个源 List, 将源的元素拷贝到目标,并覆盖它的内容。目标 List 至少与源一样长。如果它更长,则在目标 List 中的剩余元素不受影响。
Collections.copy(list,li): 后面一个参数是目标列表 ,前一个是源列表
6) 返回Collections中最小元素(min)
根据指定比较器产生的顺序,返回给定 collection 的最小元素。collection 中的所有元素都必须是通过指定比较器可相互比较的
7) 返回Collections中最大元素(max)
根据指定比较器产生的顺序,返回给定 collection 的最大元素。collection 中的所有元素都必须是通过指定比较器可相互比较的
8) lastIndexOfSubList
返回指定源列表中最后一次出现指定目标列表的起始位置,即按从后到前的顺序返回子List在父List中的索引位置。
9) IndexOfSubList
返回指定源列表中第一次出现指定目标列表的起始位置
10) Rotate
根据指定的距离循环移动指定列表中的元素
Collections.rotate(list,-1);
如果是负数,则正向移动,正数则方向移动
11)static int binarySearch(List list,Object key)
使用二分搜索查找key对象的索引值,因为使用的二分查找,所以前提是必须有序。
12)static Object max(Collection coll)
根据元素自然顺序,返回集合中的最大元素
13)static Object max(Collection coll,Compare comp)
根据Comparator指定的顺序,返回给定集合中的最小元素
14)static Object min(Collection coll)
根据元素自然顺序,返回集合中的最大元素
15)static Object min(Collection coll,Compare comp)
根据Comparator指定的顺序,返回给定集合中的最小元素
16)static void fill(List list,Object obj)
使用指定元素替换指定集合中的所有元素
17)static int frequency(Collection c,Object o)
返回指定元素在集合中出现在次数
18)static int indexOfSubList(List source, List target)
返回子List对象在父List对象中第一次出现的位置索引; 如果父List中没有出现这样的子List,则返回-1
19)static int lastIndexOfSubList(List source,List target)
返回子List对象在父List对象中最后一次出现的位置索引,如果父List中没有出现这样的子List,刚返回-1
20)static boolean replaceAll(List list,Object oldVal,Object newVal)
使用一个新值newVal替换List对象所有旧值oldVal
21)synchronizedXXX(new XXX)
Collections类为集合类们提供的同步控制方法
22)emptyXXX()
返回一个空的、不可变的集合对象,此处的集合既可以是List,也可以是Set,还可以是Map。
23)singletonXXX()
返回一个只包含指定对象(只有一个或一项元素)的、不可变的集合对象,此处集合既可以是List,也可以是Set,还可以是Map。
24)unmodificableXXX()
指定返回集合对象的不可变视图,此处的集合既可以是Lsit,也可以是Set,Map
Arrays类与Collections类的更多相关文章
- Collections 类和Arrays类常用方法详解
1:Collections类 max(Collection <? extends T> coll):根据元素的自然顺序,返回给定集合元素中的最大元素 min(Collection < ...
- Collections类常用方法总结
1. sort 对集合进行排序 public static <T extends Comparable<? super T>> void sort(List<T> ...
- linkin大话数据结构--Collections类
操作集合的工具类:Collections Collections 是一个操作 Set.List 和 Map 等集合的工具类.Collections 中提供了大量方法对集合元素进行排序.查询和修改等操作 ...
- Java Collections类
集合类是什么? List列表.Set集合.Map映射.工具类(Iterator迭代器.Enumeration枚举类.Arrays和Collections). Set 接口继承 Collection,但 ...
- java学习笔记25(Collections类)
Collections算法类: Collections是一个算法类,提供了一系列静态方法,实现对集合的排序.替换.交换.搜索.拷贝等操作: 用法:Collections.方法名(要操作的集合): 就像 ...
- 集合工具类:collections
collection与collections的关系? public class Collectionsextends Object collection与collections没有直接的关系,但是与集 ...
- 操作集合的工具类:Collections
Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类提供了大量方法对集合进行排序.查询和修改等操作,还提供了将集合对象置为不可变.对集合对象实现同步控制等方法 ...
- 第一章 Collections 类、泛型类和Timing类概述
摘抄<数据结构与算法(C#语言描述)> 删除很多废话 1.1群集(collection)的定义 群集是一种结构化的数据类型.存储数据,并且提供数据的添.删.改操作,以及对群集不同属性值的设 ...
- Java API —— Collections类
1.Collections类概述 针对集合操作 的工具类,都是静态方法 2.Collections成员方法 public static <T> void ...
随机推荐
- 关于sqlmap的两个小坑
i春秋作家:__LSA__ 0x00 概述 近日在利用sqlmap注入测试时遇到一个奇怪的现象,高版本sqlmap无法检测出注入,但是低版本的可以测出注入,并且能跑出数据不是误报,经过对比测试和查看s ...
- commons Collections4 MultiMap
MultiMap<String, Integer> multiMap = new MultiValueMap<>(); multiMap.put("A", ...
- 8、linux权限-特殊权限
特殊权限: 1.setuid setuid: 让普通用户能够临时的拥有命令的属主权限,完成一些特殊的操作. suid的授权: chmod u+s chmod u-s chmod 4755 4代表是特殊 ...
- Runtime.getRuntime.exec()执行linux脚本导致程序卡死问题
rumtime程序执行中出现卡住,执行成果达不到预期的标准.查看输出流以及错误流程是否内存占满了.开两个线程来运行输出流程和错误流程. rumtime运行windows脚本执行是要添加执行环境 cmd ...
- 紫书 例题 10-11 UVa 11181(概率计算)
这道题不能凭感觉做了.要套公式 r个人买了东西叫事件E, 第i个人买东西的概率叫做事件Ei 求得是P(E|Ei), 则P(E|Ei)= P(E|Ei)/ P(E) 那么P(E)可以枚举求得, 用递归求 ...
- shoeBox超实用的雪碧图(Sprite)图制作工具-使用
从前端优化说起 浏览器载入单张图片的速度基本取决于图片的大小,但是载入多张图片的速度却和另一个要素息息相关-网络请求数,在图片大小和一致的情况下,图片张数越少其请求数越少其载入速度也就越快.所以在使用 ...
- Codeforces Round #593 (Div. 2) D. Alice and the Doll
题目:http://codeforces.com/problemset/problem/1236/D思路:机器人只能按照→↓←↑这个规律移动,所以在当前方向能够前进的最远处即为界限,到达最远处右转,并 ...
- Lambda学习总结(二)--Stream流
一.Stream 流 1.1 概念 官方解释:可以支持顺序和并行对元素操作的元素集合. 简单来讲,Stream 就是 JDK8 提供给我们的对于元素集合统一.快速.并行操作的一种方式. 它能充分运用多 ...
- DevExpress ASP.NET Core v19.1版本亮点:Rich Text Editor
行业领先的.NET界面控件DevExpress 发布了v19.1版本,本文将以系列文章的方式为大家介绍DevExpress ASP.NET Core Controls v19.1中新增的一些控件及增强 ...
- django与ajax:ajax结合sweetalter ,批量插入数据 ;分页器组件
目录 一.ajax结合sweetalter 二.bulk_create批量插入数据 三.简易版分页器推导 1. 推导步骤 四.自定义分页器的使用 1. 自定义分页器模板 2. 使用方法 (1)后端代码 ...