浅谈JAVA的工具人Math、Arrays、Collections

JAVA的工具人Math、Arrays、Collections

java.lang.Math

  • Math包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。

  • 所有方法均是静态方法

常用方法 解释 参数
abs(<参数>) 绝对值 double,float,int,long
pow(double a, double b) a是底,b是幂 double
random() [0,1)的随机数
max(<参数1>,<参数2>) 最大值 double,float,int,long
min(<参数1>,<参数2>) 最小值 double,float,int,long
multiplyExact(<参数1>,<参数2>) 乘积 参数1、参数2类型可以不一样 int,long
round(double a) 四舍五入 double,float
sqrt(double a) 开方 double
addExact(<参数1>,<参数2>) 和,溢出抛出异常 参数1、参数2类型可以不一样 int,long
ceil( ) 大于等于该参数的最小值 double
floor( ) 小于等于该参数的最大值 double
log( ) 以e为底的对数 double
log10( ) 以10为底的对数 double

java.util.Arrays

  • 该类包含用于操作数组的各种方法(如排序和搜索)。 该类还包含一个静态工厂,可以将数组视为列表。

  • 这个类中的方法都抛出一个NullPointerException ,如果指定的数组引用为null,除非另有说明。

  • 包含在此类的方法中的文件包括的实施方式的简要描述。这些描述应被视为实施说明 ,而不是说明书的一部分 。只要规范本身得到遵守,实现者就可以随意替代其他算法。(例如, sort(Object[])使用的算法不一定是sort(Object[]) ,但它必须是稳定的 。)

Arrays.asList(T... a)

List<String> list = Arrays.asList("小强", "小花");
// list.add("小虎");报错
  • 返回由指定数组支持的固定大小的列表。
  • 原因分析:Arrays.asList("小强", "小花")返回一个内部类java.util.Arrays.ArrayList继承了接口java.util.AbstractList,但并没有实现add()方法。所以不可变长。和我们所说的java.util.ArrayList不是一个东西,不过名字相同罢了。

Arrays.bianarySearch(<参数>[] a ,参数 b)

  • 返回下标,如果没找到返回负数

  • 使用二进制搜索算法搜索指定值的指定字节数组的范围。 在进行此呼叫之前,范围必须按照sort(byte[], int, int)方法进行排序。 如果没有排序,结果是未定义的。 如果范围包含具有指定值的多个元素,则不能保证将找到哪个元素。

int[] a = {3,5,2,10,31,30};
Arrays.sort(a);
int i = Arrays.binarySearch(a, 30);

Arrays.copyof(<类型>[], int newLength)

int[] a = {3,5,2,10,31,30};
int[] ints = Arrays.copyOf(a, 3);

Arrays.copyOfRange(<类型>[], int from , int to )

int[] ints1 = Arrays.copyOfRange(a, 2, 4);

Arrays.equals(<类型>[] a, <类型>[] b)

  • 比较数组a,b中元素列表是否相等
int[] a = {3,5,2,10,31,30};
int[] b = Arrays.copyOf(a, 6);
boolean b1 = Arrays.equals(a, b);
// 结果为true
System.out.println(b1);
// 结果为false
System.out.println(a==b);

Arrays.fill(<类型>[] a, <类型> val)

int[] a = new int[]{3, 5, 2, 10, 31, 30};
// a = {10,10,10,10,10,10};
Arrays.fill(a,10);

Arrays.setAll(<类型>[] a, generator)

- IntToDoubleFunction 这是一个功能界面,因此可以用作lambda表达式或方法引用的赋值对象

Arrays.toString(<类型>[] a)

  • 返回指定数组的内容的字符串表示形式。

java.util.Collections

  • java.util.Collections 对 集合的操作,类似java.util.Arrays对数组的操作
Modifier and Type 方法 描述
static boolean addAll(Collection c, T... elements) 将所有指定的元素添加到指定的集合。
static Queue asLifoQueue(Deque deque) 返回Deque作为先进先出( LifoQueue的视图
static int binarySearch(List> list, T key) 使用二叉搜索算法搜索指定对象的指定列表。
static int binarySearch(List list, T key, Comparator c) 使用二叉搜索算法搜索指定对象的指定列表。
static Collection checkedCollection(Collection c, Class type) 返回指定集合的动态类型安全视图。
static List checkedList(List list, Class type) 返回指定列表的动态类型安全视图。
static Map checkedMap(Map m, Class keyType, Class valueType) 返回指定地图的动态类型安全视图。
static NavigableMap checkedNavigableMap(NavigableMap m, Class keyType, Class valueType) 返回指定可导航地图的动态类型安全视图。
static NavigableSet checkedNavigableSet(NavigableSet s, Class type) 返回指定的可导航集的动态类型安全视图。
static Queue checkedQueue(Queue queue, Class type) 返回指定队列的动态类型安全视图。
static Set checkedSet(Set s, Class type) 返回指定集合的动态类型安全视图。
static SortedMap checkedSortedMap(SortedMap m, Class keyType, Class valueType) 返回指定排序映射的动态类型安全视图。
static SortedSet checkedSortedSet(SortedSet s, Class type) 返回指定排序集的动态类型安全视图。
static void copy(List dest, List src) 将所有元素从一个列表复制到另一个列表中。
static boolean disjoint(Collection c1, Collection c2) 如果两个指定的集合没有共同的元素,则返回 true
static Enumeration emptyEnumeration() 返回没有元素的枚举。
static Iterator emptyIterator() 返回没有元素的迭代器。
static List emptyList() 返回空列表(immutable)。
static ListIterator emptyListIterator() 返回没有元素的列表迭代器。
static Map emptyMap() 返回空的地图(不可变)。
static NavigableMap emptyNavigableMap() 返回空导航地图(不可变)。
static NavigableSet emptyNavigableSet() 返回一个空导航集(immutable)。
static Set emptySet() 返回一个空集(immutable)。
static SortedMap emptySortedMap() 返回空的排序映射(immutable)。
static SortedSet emptySortedSet() 返回一个空的排序集(immutable)。
static Enumeration enumeration(Collection c) 返回指定集合的枚举。
static void fill(List list, T obj) 用指定的元素替换指定列表的所有元素。
static int frequency(Collection c, Object o) 返回指定集合中与指定对象相等的元素数。
static int indexOfSubList(List source, List target) 返回指定源列表中指定目标列表的第一次出现的起始位置,如果没有此类事件,则返回-1。
static int lastIndexOfSubList(List source, List target) 返回指定源列表中指定目标列表的最后一次出现的起始位置,如果没有此类事件则返回-1。
static ArrayList list(Enumeration e) 返回一个数组列表,其中包含由枚举返回的顺序由指定的枚举返回的元素。
static >T max(Collection coll) 根据其元素的 自然顺序返回给定集合的最大元素。
static T max(Collection coll, Comparator comp) 根据指定的比较器引发的顺序返回给定集合的最大元素。
static >T min(Collection coll) 根据其元素的 自然顺序返回给定集合的最小元素。
static T min(Collection coll, Comparator comp) 根据指定的比较器引发的顺序返回给定集合的最小元素。
static List nCopies(int n, T o) 返回由指定对象的 n副本组成的不可变列表。
static Set newSetFromMap(Map map) 返回由指定地图支持的集合。
static boolean replaceAll(List list, T oldVal, T newVal) 将列表中一个指定值的所有出现替换为另一个。
static void reverse(List list) 反转指定列表中元素的顺序。
static Comparator reverseOrder() 返回一个比较器, Comparable实现 Comparable接口的对象集合施加了 自然排序的相反。
static Comparator reverseOrder(Comparator cmp) 返回一个比较器,它强制指定比较器的反向排序。
static void rotate(List list, int distance) 将指定列表中的元素旋转指定的距离。
static void shuffle(List list) 使用默认的随机源随机排列指定的列表。
static void shuffle(List list, Random rnd) 使用指定的随机源随机排列指定的列表。
static Set singleton(T o) 返回一个只包含指定对象的不可变组。
static List singletonList(T o) 返回一个只包含指定对象的不可变列表。
static Map singletonMap(K key, V value) 返回一个不可变的地图,只将指定的键映射到指定的值。
static >void sort(List list) 根据其元素的natural ordering按照升序排列指定的列表。
static void sort(List list, Comparator c) 根据指定的比较器引起的顺序对指定的列表进行排序。
static void swap(List list, int i, int j) 交换指定列表中指定位置的元素。
static Collection synchronizedCollection(Collection c) 返回由指定集合支持的同步(线程安全)集合。
static List synchronizedList(List list) 返回由指定列表支持的同步(线程安全)列表。
static Map synchronizedMap(Map m) 返回由指定地图支持的同步(线程安全)映射。
static NavigableMap synchronizedNavigableMap(NavigableMap m) 返回由指定的可导航地图支持的同步(线程安全)可导航地图。
static NavigableSet synchronizedNavigableSet(NavigableSet s) 返回由指定的可导航集支持的同步(线程安全)可导航集。
static Set synchronizedSet(Set s) 返回由指定集合支持的同步(线程安全)集。
static SortedMap synchronizedSortedMap(SortedMap m) 返回由指定的排序映射支持的同步(线程安全)排序映射。
static SortedSet synchronizedSortedSet(SortedSet s) 返回由指定的排序集支持的同步(线程安全)排序集。
static Collection unmodifiableCollection(Collection c) 返回指定集合的不可修改视图。
static List unmodifiableList(List list) 返回指定列表的不可修改视图。
static Map unmodifiableMap(Map m) 返回指定地图的不可修改视图。
static NavigableMap unmodifiableNavigableMap(NavigableMap m) 返回指定可导航地图的不可修改视图。
static NavigableSet unmodifiableNavigableSet(NavigableSet s) 返回指定的可导航集合的不可修改的视图。
static Set unmodifiableSet(Set s) 返回指定集合的不可修改视图。
static SortedMap unmodifiableSortedMap(SortedMap m) 返回指定排序映射的不可修改视图。
static SortedSet unmodifiableSortedSet(SortedSet s) 返回指定排序集的不可修改视图。

猜你喜欢

转载自www.cnblogs.com/sweetorangezzz/p/12906775.html
今日推荐