JAVA基础(三十五)集合相关工具类

【Arrays工具类】

数组转成集合

Arrays.asList();

可以使用集合的方法操作数组中的元素


注意:数组的长度是固定的,所以对于集合的增删方法是不可以使用的


集合转成数组

使用的就是Collection接口中的toArray方法。

集合转成数组:可以对集合中的元素操作方法进行限定。不允许对其进行增删
长度最好指定为集合的size
String[]arr=list.toArray(new String[list.size()]);


判断两个数组是否相同

equals();  
只有数量和内容都相同才会相等

sort()排序


Collections工具类

 

Collections.sort(list);对list集合进行指定顺序的排序,如果不是普通类型,那么需要实现Comparetor


Collections.swap(list,i,j);//i和j交换位置


Collections.binarySearch(list,"cba");//对半查找,对list集合进行指定顺序的排序

Collections.reverseOrder();逆转排序,(如果是将已有比较器逆转,需要把自定义的比较器传进去)

Collections.reverse();//list倒序

Collections.replaceAll();使用另一个值替换列表中出现的所有某一指定值

Collections.fill(list,"cc");//使用一个指定的字符串,替换list中所有
元素

Collections.shuffle(list);//打乱list中的元素


将非同步集合变成同步的

synchronizedCollection(Collection<T>c);

synchronizedList<List<T> list>

synchronizedMap(Map<K,V>m);

synchronizedSet(Set<T>s);


原理:

class MyCollections{

 public static List synList(List list){

    return new MyList(list);

}

private  class MyList implements List{

    private List list;

    private static final Object lock=new Object();

    MyList(List list){
        this.list=list;
    }

    public boolean add(){
       synchronized(lock){
        return list.add(obj);
    }
        
    }

    public boolean remove(Object obj){
        synchronized(lock){

            return list.rmove(object);
        }
    }

}


}


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值