黑马程序员技术交流社区

标题: 集合框架都包括什么? [打印本页]

作者: 18230343363    时间: 2015-7-24 01:22
标题: 集合框架都包括什么?
      我知道集合很多的点,但是集合框架是怎么回事呢?求解中……

作者: AllenIverson    时间: 2015-7-24 15:38
本帖最后由 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, 下载次数: 4)

map

map

作者: 18230343363    时间: 2015-7-24 15:51
AllenIverson 发表于 2015-7-24 15:38
1. Collection
2. Map

谢谢你 真是详细 我要好好看看了  今天面试答得不太好
作者: aurora_bessie    时间: 2015-7-24 22:43
总结的好全~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2