黑马程序员-第十七天(工具类)

来源:互联网 发布:上古世纪最新捏脸数据 编辑:程序博客网 时间:2024/05/29 08:38

---------------------- 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培训、期待与您交流! ----------------------

0 0