-------------
Collections介绍和使用:
Collections:集合框架的工具类。里面定义的都是静态方法。
Collections和Collection的区别:
Collection是集合框架中的一个顶层接口,它里面定义了单列集合的共性方,它有两个常用的子接口, List:对元素都有定义索引。有序的。可以重复元素。
Set:不可以重复元素。无序。
Collections是集合框架中的一个工具类。该类中的方法都是静态的提供的方法中有可以对list集合进行排序,二分查找等方法。通常常用的集合都是线程不安全的。因为要提高效率。如果多线程操作这些集合时,可以通过该工具类中的同步方法,将线程不安全的集合,转换成安全的。
代码示例:
import java.util.*;
classCollectionsDemo
{
public static void main(String[] args)
{
Demo();
}
public static void Demo()
{
List<String> list = new ArrayList<String>();
list.add("abcd");
list.add("aaa");
list.add("zz");
list.add("kkkkk");
list.add("qq");
list.add("z");
Collections.sort(list);//按自然顺序排序
Collections.sort(list,new StrLenComparator());//按比较器方式排序。
sop(list);
int max = Collections.max(list);//取排序中的第一元素
int index = Collections.binarySearch(list,"aaaa");//二分查找,如果有返回其索引,如没有返回(-插入点-1)。必须是有序集合。
Collections.fill(list, "z")//集合元素全部替换成指定元素
Collections.replaceAll(list,"aaa","pp");//将集合中的“aaa”替换成“pp”
Collections.reverse(list);//反转集合元素
Collections.shuffle(list);//将集合中元素随机排列
Collections.swap(list,1,2);//将list内角标1和2的元素换位
sop("index="+index);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
class StrLenComparator implements Comparator<String>
{
public int compare(String s1,String s2)
{
if(s1.length()>s2.length())
return 1;
if(s1.length()<s2.length())
return -1;
return s1.compareTo(s2);
}
}