---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
一,Collections中的方法
对List集合排序:
static <T extends Comparable<? super T>>void sort(List<T> list);
static <T> void sort(List<T>list,Comparator<? super T>compar);
获取集合中的最大值
static <T extends Comparable<? super T>> T max(Collection<? extends T> coll);
static <T> T max(Collection<? extends T> coll,Comparator<? super T> compar);
集合中的二分查找
static<T> int binarySearch(List<? extends Comparable<? super T>> list,T key);
static <T> int binarySearch(List<? extends Comparable<? super T>> list,T key, Comparator<? super T> comp)
替换和反转
fill方法可以将list集合中所有元素替换成指定元素
替换:
Collections.fill(List<? super T> list, T obj)
Collections.replaceAll(List<T>list,T oldVal,T newVal);
反转:
list集合中反转元素
Collections.reverse(List<T> list)
反转比较器
Comparator<T> Collections.reverseOrder();
Comparator<T> Collections.reverseOrder(Comparator<T> cmop)
返回线程同步的集合(其底层就是实现了List,Map,Set集合然后复写它们的方法)
List<T> synchronizedList(List<T> list)
Set<T> synchronizedList(Set<T> set)
Map<K,V> synchronizedList(Map<K,V> map)
置换:
Static vid swap(List<T>list int i,int j)
随机对集合进行排放:
static void shuffle(List<T> list);将list集合中元素进行随机排放
static void shuffle(List<?> list, Random rnd)
二、 Arrays:用于操作数组的工具类
asList:将数组变成list集合
1,把数组变成list集合有什么好处?
可以使用集合的思想去操作数组中的元素
注意:将数组变成集合时,不可以使用集合的增删方法,因为数组的长度是固定的。
如果你增删了,那么会发生:UnsupportedOperationException
如果数组中的元素都是对象 ,那么变成集合时,数组中的元素就直接转成集合中的元素存在,如果数组中的
元素都是基本数据类型,那么 会将该数组作为集合中的元素存在。
2,Collections中的方法将集合变数组
static Object [] toArray()
static <T> T[] toArray(T[] a)
3,static <T> T[] toArray(T[] a)中的数组的长度要定义为多长呢?
当指定类型的数组长度小于了集合的size,那么该方法内部会创建一个新的数组,长度为集合的size.
当指定类型的数组长度大于了集合的size,就不会在创建新的数组了,而是使用传递进来的数组,所以
创建一个刚刚好的数组最好。
4为什么要将集合变数组?
为了限定对元素的操作,不需要进行增删了。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------