Utilities(两个工具类Collections和Arrays)
Collections:
public static <T> voidsort(List<T> list,Comparator<? super T> c)
例子:Collections.sort(list,newStrLenCom());
public static <T> max(Collection<? entends T>coll,Comparator com)
public static<T> int binarySearch(List<? extendsComparable<? super T>> list)
如果没有找到,则会返回-(插入点-1)
/*
集合框架的工具类
Collections:
*/
import java.util.*;
class StrLenCom implementsComparator<String>
{
public int compare(String str1,String str2)
{
return newInteger(str1.length()).compareTo(str2.length());
}
}
class CollectionsDemo
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void sortDemo()
{
List<String> list=new ArrayList<String>();
list.add("aaaa");
list.add("j");
list.add("abc");
list.add("bddda");
list.add("zzz");
sop(list);
Collections.sort(list,new StrLenCom());
sop(list);
}
public static void maxDemo()
{
List<String> list=new ArrayList<String>();
list.add("aaaa");
list.add("j");
list.add("abc");
list.add("bddda");
list.add("zzz");
sop(list);
String max=Collections.max(list,new StrLenCom());
sop(max);
}
public static void binarySearchDemo()//想要使用binarysearch的集合都是有序集合。
{
List<String> list=new ArrayList<String>();
list.add("aaaa");
list.add("j");
list.add("abc");
list.add("bddda");
list.add("zzz");
sop(list);
//Collections.sort(list,new StrLenCom());
//sop(list);
intindex=Collections.binarySearch(list,"abc");
sop("index="+index);
}
/*
fill方法可以吧list集合中所有元素,将list集合中部分元素替换成指定元素。
*/
public static void fillDemo()
{
List<String> list=new ArrayList<String>();
list.add("aaaa");
list.add("j");
list.add("abc");
list.add("bddda");
list.add("zzz");
sop(list);
Collections.fill(list,"pp");//把所有元素都换成PP
sop(list);
}
public static void replaceAllDemo()
{
List<String> list=new ArrayList<String>();
list.add("aaaa");
list.add("aaaa");
list.add("aaaa");
list.add("j");
list.add("abc");
list.add("bddda");
list.add("zzz");
sop(list);
Collections.replaceAll(list,"aaaa","bbbb");//把所有元素都换成PP
sop(list);
}
public static void main(String[] args)
{
replaceAllDemo();
}
}
/*
Arrays:用于操作数组的工具类
里面都是静态方法。
asList:将数组变成list集合。
把数组变成集合有什么好处?
可以使用集合的思想和方法来操作数组中的元素
注意:将数组变成集合不可以使用集合的增删方法,因为数组是定长的。
*/
import java.util.*;
class ArraysDemo
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
//int[] arr={3,3,4,5};
//System.out.println(Arrays.toString(arr));
String[]arr={"abc","cc","kkkk"};
List<String> list=Arrays.asList(arr);
sop(list);
}
}