基础2012.8.3.00.00

来源:互联网 发布:java sleep1000 编辑:程序博客网 时间:2024/04/25 18:46
1,Map:


Map集合:该集合存储键值对, 一对一对往里存,
  而且要保证键的唯一性。
  1,添加:
  put(K key,V value)
  putAll(Map<? extends K,?extends V>m )
 
  2,删除:
  chear()
  remove(Object key)
 
  3,判断:
  containsValue(Object value)
  containsKey(Object key)
  isEmpty()
 
  4,获取:
  get(Object key)
  size()
  values()
 
  entrySet()
  keySet()
   
 
 Map:
  Hashtable:
  底层是哈希表数据结构,不可以存入null键null值,
  该集合是线程同步的,jdk1.0.效率低。
 
  HashMap:
  底层是哈希表数据结构,允许使用null键null值,
  该集合是不同步的,jdk1.2.效率高。
 
  TreeMap:
  底层是二叉树数据结构,线程不同步,
  可以用于给Map集合中的键进行排序。
 
 和Set很想,
 其实大家,Set底层就是使用了Map集合。


添加元素:
如果出现添加时,相同的键,
那么后添加的值会覆盖原有键对应值,
并put方法会返回被覆盖的值。


2.Arrays:


用于操作数组的工具类。
里面都是静态方法。


Arrays.asList():将数组变成list集合。


把数组变成list集合有什么好处:
可以使用集合的思想和方法来操作数组中的元素。
注意:
将数组变成集合,不可以使用集合的增删方法。
因为数组的长度是固定的。
可是使用这些方法:
contains,get,indexof(),subList().


如果你增删,那么会发生UnsupportedPperationException异常。


如果数组中的元素都是对象,那么变成集合时,
数组中的元素就直接转成集合中的元素。
如果数组中的元素都是基本数据类型,
那么会将该数组作为集合中的元素存在。


将集合变数组:


Collection接口中的toArray方法。


指定类型的数组到底要定义多长呢:
当指定类型的数组长度小于了集合的size,
那么该方法内部会创建一个新的数组,长度为集合的size。
当指定类型的数组长度大于了集合的size,
就不会新创建了数组,而是使用传递进来的数组。
所以创建一个刚刚好的数组最优。


为什么要将集合变数组:
为了限定对元素的操作,不需要进行增删了。