用代码来理解Collenctions的用法
代码如下:
import java.awt.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Objects;
public class cxl{
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Integer> list=new ArrayList<Integer>();
int[] a= {2,5,8,6,4};
for(int i=0;i<a.length;i++) {
list.add(a[i]);
}
Collections.sort(list);//对集合进行排序
for(int i=0;i<list.size();i++)
System.out.print(list.get(i)+" ");
System.out.println();
Collections.shuffle(list);
for(int i=0;i<list.size();i++)//混排算法所做的正好与 sort 相反: 它打乱在一个 List 中可能有的任何排列的踪迹
System.out.print(list.get(i)+" ");
Collections.reverse(list);//反转,将顺序反过来
System.out.println();
for(int i=0;i<list.size();i++)
System.out.print(list.get(i)+" ");
System.out.println();
System.out.println(Collections.max(list));//最大
System.out.println(Collections.min(list));//最小
System.out.println();
sta();
}
static void sta() {
ArrayList<String> list2=new ArrayList<String>();
ArrayList<String> list3=new ArrayList<String>();
ArrayList<Integer> nnn=new ArrayList<Integer>(Arrays.asList(1,2,3,4,88,88,88,88,5,6,7,8,9));
ArrayList<Integer> mmm=new ArrayList<Integer>(Arrays.asList(88));
list2.add("aaa");
list2.add("bbb");
list2.add("ccc");
list2.add("ddd");;
Collections.addAll(list3, new String[list2.size()]);
Collections.copy(list3,list2);
//只有当list3的 size 大于或者等于list2的size时才进行拷贝,否则抛出IndexOutOfBoundsException异常;
for(String s:list3) {
System.out.println(s);
}
System.out.println(Collections.indexOfSubList(nnn, mmm));//mmm中的元素在nnn中的第一次出现的位置
System.out.println(Collections.lastIndexOfSubList(nnn, mmm));//mmm中的元素在nnn中最后一次出现的位置
Collections.rotate(nnn, 3);//集合中的元素向又移动3位
System.out.println(nnn);
Collections.sort(nnn);//将nnn进行排序
Collections.rotate(nnn, -3);
System.out.println(nnn);//集合中的元素向左移动3位
Collections.swap(list2, 2, 3);//将swap中的2和3的位置调换
System.out.println(list2);
}
}
如有其它常用的方法请指教,谢谢!!!