黑马程序员_Collections和Arrays

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------


1. Collections工具类
  |-- Collections,操作Collection集合的工具类,方法全部是静态的
     |-- Collections.sort(List)对list集合升序排序
     |-- Collections.sort(List,Comparator比较器)对list集合升序排序
     |-- Collections.swap(list,int x,int y)对List集合的指定索引位置进行位置的互换
     |-- Collections.shuffle(List)对List集合中的对象,进行随机排列
     |-- Collections.reverse(list)对List集合进行反转
     |-- Collections.fill(list,Object obj)替换list集合中的所有元素
     |-- Collections.binarySearch(list,Object obj)对list集合进行二分搜索法
        |-- 找不到指定的元素,返回 -(插入点-1)
     |-- Collections.reverseOrder()返回一个比较器,逆转了Compatable中的自然顺序
     |-- Collections.reverseOrder(Comparator c)返回一个比较器,逆转了Comparator中的顺序


. Collection接口的中的方法
     |-- toArray()将集合变成数组
==========================================================================================================================
class MyStringLength implements Comparator<String>{
public int compare(String s1,String s2){
int num = s1.length() - s2.length();
return num == 0 ? s1.compareTo(s2):num;
}
}
public class CollectionsDemo {
public static void main(String[] args) {
method_6();
}
//演示对list集合中的存储对象的自然顺序的,强行逆转 工具类reverseOrder方法
public static void method_6(){
ArrayList<String> al = new ArrayList<String>();
al.add("sdferres");
al.add("uyfrdetr");
al.add("nbvc");
al.add("trddf");
al.add("r");
System.out.println(al);
//并没有对集合排序,只是,得到了一个比较器
//Comparator com = Collections.reverseOrder();
//Collections.sort(al, Collections.reverseOrder());
Collections.sort(al,Collections.reverseOrder(new MyStringLength()));
System.out.println(al);

}

//对list集合进行二分搜索法
public static void method_5(){
ArrayList<String> al = new ArrayList<String>();
al.add("sdfs");
al.add("uytr");
al.add("nbvc");
al.add("trdf");
al.add("er");
System.out.println(al);
Collections.sort(al);
System.out.println(al);
int index = Collections.binarySearch(al, "tx");
System.out.println(index);
}

//替换list集合中的所有元素,工具类 fill
public static void method_4(){
ArrayList<String> al = new ArrayList<String>();
al.add("sdfs");
al.add("uytr");
al.add("nbvc");
al.add("trdf");
al.add("er");
System.out.println(al);
Collections.fill(al, "QQQQQ");
System.out.println(al);
}

//对List集合中的对象,进行反转,工具类reverse方法
public static void method_3(){
ArrayList<String> al = new ArrayList<String>();
al.add("sdfs");
al.add("uytr");
al.add("nbvc");
al.add("trdf");
al.add("er");
System.out.println(al);
Collections.reverse(al);
System.out.println(al);
}

//list集合中的对象,随机排列,工具类shuffle方法
public static void method_2(){
ArrayList<String> al = new ArrayList<String>();
al.add("sdfs");
al.add("uytr");
al.add("nbvc");
al.add("trdf");
al.add("er");
System.out.println(al);
Collections.shuffle(al);
System.out.println(al);
}

//List集合,指定下标,进行换位工具类的swap方法
public static void method_1(){
ArrayList<String> al = new ArrayList<String>();
al.add("sdfs");
al.add("uytr");
al.add("nbvc");
al.add("trdf");
al.add("er");
System.out.println(al);
Collections.swap(al, 0, 3);
System.out.println(al);
}

//对List集合进行排序,工具类的sort方法
public static void method(){
ArrayList<String> al = new ArrayList<String>();
al.add("sdfs");
al.add("uytr");
al.add("nbvc");
al.add("trdf");
al.add("er");
System.out.println(al);
Collections.sort(al);
System.out.println(al);
}
}
==================================================================================================================================
 2. Arrays工具类
   |-- 提供数组操作的工具类,方法全部是静态的
     |-- Arrays.sort(数组)对数组进行升序排序
     |-- Arrays.binarySerach(数组,搜索)对数组进行折半查找,返回-(插入点-1),保证数组有序
     |-- Arrays.asList(数组),将数组转成List集合,不允许改变集合的长度


  静态导入 JDK1.5新特性
====================================================================================================================================
public class ArraysDemo {
public static void main(String[] args) {
method_2();
}
public static void method_2(){
Integer[] arr = {1,2,3,5,6,4,7,8,9};
List<Integer> list = Arrays.asList(arr);
System.out.println(list);
}


//将数组转成集合,Arrays.asList(数组),返回一个List集合
public static void method_1(){
String[] s = {"ab","cd","efg","hij","kl"};
List list = Arrays.asList(s);
System.out.println(list);
//list.set(2, "EFG");
//list.remove(0);
System.out.println(list);
}


//对数组进行排序,和折半查找
public static void method(){
int[] arr = {3,1,4,5,7,2,8};
Arrays.sort(arr);
String s = Arrays.toString(arr);//将数组变成字符串 静态方法toString()
System.out.println(s);
int index = Arrays.binarySearch(arr, 9);
System.out.println(index);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值