Internet_worm
Internet_worm的博客

导航

 

下一篇是线程安全

//测试collections工具类
public class CollectionsTest {

public static void main(String[] args) {

//store
List <String>list=new ArrayList<String>();
list.add("dsad");
list.add("dsad");
list.add("dsasdasdaad");
list.add("wdsaererd");
list.add("aaadsad");
Collections.sort(list);//这个方法在调用时要求元素自身具有比较性,而且是相同类型的
//排序后list内元素顺序为:aaadsad, dsad, dsasdasdaad, wdsaererd
//binarySearch 使用二分查找法,要求集合必须是list集合而且是已经排好序的,返回值是所查找元素的索引值
/*//1新建一个无须的list集合
List list2=new ArrayList();
list2.add("jfkj");
list2.add("uhiueh");
list2.add("ouol");
//这是,如果调用list2的banrySearch是会报错的
int index=Collections.binarySearch(list2, "ouol");//这里index=-2,说明这样的操作是不正确的但是有一个规律,-2的绝对值减1就是向其中插入该元素的索引位置
System.out.println(index);
*/
/*2list的binarySearch方法
int index =Collections.binarySearch(list, "dsasdasdaad");//此处index=2是正确的
Object obj=list.get(index);
System.out.println(index);
System.out.println(obj);
*/
/*fill用指定的元素填充集合
System.out.println("填充之前:"+list);
Collections.fill(list, "vvvvv");
System.out.println("填充之后:"+list);
*/

/*repleceAll用指定的元素代替集合中所有的元素
System.out.println("替换之前:"+list);
Collections.replaceAll(list, "dsad", "哈哈哈");
System.out.println("替代之后"+list);
*/
//max方法,返回值是集合的泛型,这个方法对Collection以及他的自连接口都是都是有效的

String maxValue=Collections.max(list);
System.out.println(maxValue);

/*//shuffle,洗牌,打乱集合中元素的顺序,为了明显地看出这个效果,我们不发用一个循环来实现对他多次连续的“洗牌”
//他的返回值是void
for(int i=0;i<5;i++){
Collections.shuffle(list);
System.out.println(list);
}
*/
/*//unModifiableList返回该集合的不可修改随机访问包装集合,也就是说返回的集合是不能增加、删除、修改的集合,对collection以及他的子接口有效
List unList=Collections.unmodifiableList(list);
unList.add("aaaaaaaaaaa");//java.lang.UnsupportedOperationException,不支持操作的异常
*/
//synchronizedList返回指定集合的线程安全的包装集合
List synList=Collections.synchronizedList(list);
System.out.println(synList);



}
}

posted on 2015-07-27 00:41  Internet_worm  阅读(104)  评论(0)    收藏  举报