【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);
}
}
}
}