一、集合框架工具类:Collections
1.1、Collections类的特点
该工具类中所有的方法都是静态的
1.2、Collections类的常用方法
binarySearch(List<? extends Comparable<? super T>> list, T key):使用二叉搜索算法搜索指定对象的指定列表。注:使用binarySearch()方法前,必须先使用sort()方法 正序排序
sort(List<T> list):正序排序
reverse(List<?> list):倒序排序
max(Collection<? extends T> coll):找最大值
copy(List<? super T> dest, List<? extends T> src):将所有元素从一个列表复制到另一个列表中。
1.3、实例
package com.dhb.collection; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List; /**
* @author DSHORE / 2018-5-30
*
*/
public class Demo25 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add();
list.add();
list.add();
list.add();
Collections.sort(list);//正序排序
System.out.println(list);//返回值:[1, 2, 6, 9] int t=Collections.binarySearch(list, );//使用二叉搜索算法搜索指定对象的指定列表。注:使用binarySearch()方法前,必须先使用sort()方法 正序排序
System.out.println(t);//返回值:1 Collections.reverse(list);//倒序排序
System.out.println(list);//返回值:[9, 6, 2, 1] int m=Collections.max(list);//找最大值
System.out.println(m);//返回值:9 //List<Integer>换成ArrayList<Integer>报错
List<Integer> list2 = Arrays.asList(new Integer[list.size()]);//如果换成ArrayList<Integer> list2=new ArrayList<Integer>(); 则报IndexOutOfBoundsException异常
Collections.copy(list2,list);
for (Integer s : list2) {
System.out.print(s+",");//返回值:9,6,2,1,
}
}
}
二、数组操作工具类:Arrays
2.1、Arrays类的常用方法
二分查找,要查找的数组必须是有序的数组
binarySearch(int[])
binarySearch(double[])
1、数组排序
sort(int[])
sort(char[])
2、将数组变成字符串
toString(int[])
3、复制数组
copyOf()
4、复制部分数组
copyOfRange()
5、比较两个数组是否相同
equals(int[],int[])
6、将数组变成集合
List asList(T[])
2.2、实例
package com.dhb.collection; import java.util.Arrays;
import java.util.List; /**
* @author DSHORE / 2018-5-30
*
*/
public class Demo26 {
public static void main(String[] args) {
int[] i=new int[];
i[]=;
i[]=;
i[]=;
i[]=;
i[]=;
i[]=;
i[]=;
System.out.println(Arrays.toString(i));//返回值:[5, 1, 6, 8, 10, 2, 38] Arrays.sort(i);//正序排序
System.out.println(Arrays.toString(i));//返回值:[1, 2, 5, 6, 8, 10, 38] int a=Arrays.binarySearch(i,);
System.out.println(a);//返回值:5 int[] in=Arrays.copyOf(i,);//从数组i中复制8个元素到数组in中。(因为数组i的长度为7,这里是8个长度,那么多出来的那位将用0代替)
System.out.println(Arrays.toString(in));//返回值:[1, 2, 5, 6, 8, 10, 38, 0]
int[] in2=Arrays.copyOf(i,);//从数组i中复制6个元素到数组in2中。(复制是从下标0开始到5结束。6个)
System.out.println(Arrays.toString(in2));//返回值:[1, 2, 5, 6, 8, 10] int[] it=new int[];
it=Arrays.copyOfRange(i, , );//copyOfRange():复制部分数组
System.out.println(Arrays.toString(it));//返回值:[2, 5, 6, 8] //把数组变为集合
List<String> list=Arrays.asList(Arrays.toString(i));
System.out.println(list);//返回值:[[1, 2, 5, 6, 8, 10, 38]]
}
}
附:Collection与Collections,Array与Arrays的区别
原创作者:DSHORE 作者主页:http://www.cnblogs.com/dshore123/ 原文出自:https://www.cnblogs.com/dshore123/p/9115101.html 欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!) |