A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18230343363 中级黑马   /  2015-7-24 01:22  /  673 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

      我知道集合很多的点,但是集合框架是怎么回事呢?求解中……

3 个回复

倒序浏览
本帖最后由 AllenIverson 于 2015-7-24 15:41 编辑

  1. Collection
  
Collection
  
   
  
  
List
  
  
Set
  
  元素
  
  有序、可重复
  
  无序、唯一
  
  实现类
  
  ArrayList:
  底层数据结构是数组,查询快,增删慢,非线程安全,效率高
  Vector
  底层数据结构是数组,查询快,增删慢,线程安全,效率低
  LinkedList
  底层数据结构是链表,查询慢,增删快,非线程安全,效率高
  
  HashSet
  不保证set的迭代顺序,特别是不保证该顺序恒久不变;底层数据结构是哈希表,哈希表依赖于哈希值存储;添加功能依赖于hashCode()和equals()
  LinkedHashSet
  底层是哈希表和链表,有序、唯一
  TreeSet红黑树结构,自然排序(实现Comparable接口,重写compareTo()方法,元素具备比较性),比较器排序(构造方法接收一个comparator接口的子类对象,重写compare()方法,集合具备比较性)
  
  添加功能
  
  void add(index,element)
  void addAll(index,collection)
  LinkedList特有功能:
  addFirst()、addLast()、getFirst()、getLast()、removeFirst()、removeLast()
  
  add()
  addAll():添加一个集合的元素
  
  删除功能
  
  Object remove(index)
  removeAll()
  clear()
  
  remove()
  removeAll()
  clear()
  
  修改功能
  
  Object set(index,element)
  
   
  
  获取功能
  
  int size()
  Object get(index)
  int indexOf(object)
  int lastIndexOf(object)
  List subList(from,to)
  
  int size()
  
  迭代器
  
  Iterator
  ListIterator(逆序遍历)
  
  Iterator iterator()
  hasNext()、next()
  
  判断功能
  
  boolean contains()
  boolean containsAll()
  boolean isEmpty()
  
  boolean contains()
  boolean containsAll()
  boolean isEmpty()
  
  其他功能
  
  retainAll():取交集
  subList():截取
  toArray():集合转数组
  
  retainAll():取交集
  toArray():集合转数组
  
2. Map
  
Map:键唯一,值可重复
  
   
  
  HashMap、LinkedHashMap(键有序)
  
  
TreeMap
  
  常见方法
  
  
1.        添加功能:put(key , value) 有添加和替换功能
  
2.        删除功能:clear( )、remove(key)
  
3.        判断功能:containsKey(key)、containsValue(value)、isEmpty( )
  
4.        获取功能:get(key)、int size()、Set<Map.Entry<k,v>>  entry()
  

          Set<k> keySet()、Collection<v>  values()

  
5.        长度功能:int size()
  
  Collections工具类
  
  
1.        二分查找:binarySearch(list , key)
  
2.        反转:reverse( list)    排序sort(list)         最大值max()
  
3.        swap(  list, int i, int j)    随机置换shuffle(list)
  
  Arrays工具类  
  
  
1.        List  asList( ):将数组转成集合,可变参,仅支持set( )
  
2.        binarySearch(  )
  
3.        equals(  )
  
4.        sort(  )
  
5.        toString(  )
  
  内部结构
  
  HashMap:哈希表,允许null值和null键;LinkedHashMap:哈希表和链表;Hashtable线程安全
  
  红黑树(平衡二叉树)保证键的唯一性和排序
  
  遍历集合
  
  
1.        根据键找值:Set<k> keySet()和get(key)结合
  
2.        根据键值对对象:Set<Map.Entry<k,v>> entry()、getKey()、getValue()
  

Collection.jpg (94.59 KB, 下载次数: 2)

集合框架

集合框架

Map集合.png (153.8 KB, 下载次数: 2)

map

map
回复 使用道具 举报

谢谢你 真是详细 我要好好看看了  今天面试答得不太好
回复 使用道具 举报
总结的好全~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马