集合

集合就是动态的对象数组,与之相关的接口包括:

1.Collection包括:List和Set。

    List:包括LinkedList、ArrayList、Vector

    LinkedList:内存存储方式不是一块连续的区域,每一个数据的存储格式为data+上一个数据的引用。

    ArrayList:就是对数组的封装,这种方式存储是将数据存储在内存的一块连续的区域,删除和新增都会对其他数据的存储位置有影响。所以操作效率比较低。ArrayList提供的方法是非线程安全的。

    vector:与ArrayList类似,但是Vector提供的方法是加Synchronized,是线程安全的。而且当容量不够时,ArrayList是增加50%容量,而Vector是增加一倍,内存消耗比较大。

    Set:包括HashSet和SortedSet(但是SortedSet下只有一个TreeSet)

      treeSet:是二叉树实现的,其中的数据是自动排序好的,而且不能有空值null;

      HashSet:是哈希表实现的,存入的对象以hashcode进行标记,具有相同的String值的对象,hashcode值相同,所以不能重复。允许null插入,但是只能允许插入一个null;

2.Map包括:hashMap,weakhashMap,SortedMap(只有一个实现类TreeMap)

    treeMap:二叉树实现,本身有序。

    hashMap:哈希表实现,无序。

  weakhashMap:自动释放无调用的键值对。

3.Iterator接口用法:所有实现了Collection接口的实现类都会有一个iteractor方法,返回一个实现了Iterator接口的对象。

  boolean hasNext():判断游标游标是否有元素。

  Object next():返回游标右边的元素。

  void remove():删除游标左边的元素,只能执行一次。

4.map.entry()接口:是map的内部接口,指的是一对key-value对象。

  boolean containsKey();

  boolean containsValue();

  Object value = get(key):

  keySet();获得key的Set集合。

  values();返回value的Collection集合。

  遍历map的几种方法:

 

  1. for(String key:map.keySet()){

      map.getKey(key);

    }

  2.Iterator<Map.entry<String,String>> it = map.entrySet().Iterator();

  while(it.hasNext()){

   Map.entry<String,String> entry = it.next();

   entry.getKey();

   entry.getValue();

  }

  3.for(Map.entry<String,String> entry:map.entrySet()){  

   entry.getKey();

   entry.getValue();

  }

 

  

 

    

posted @ 2017-09-06 17:24  vvning  阅读(128)  评论(0编辑  收藏  举报