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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© AllenIverson 中级黑马   /  2015-7-25 19:11  /  284 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 AllenIverson 于 2015-7-25 19:29 编辑

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():集合转数组


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()

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马