码迷,mamicode.com
首页 > 编程语言 > 详细

java 集合粗略总结

时间:2015-07-22 01:32:29      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

Collection 接口
公共方法:
    1.增  add() addAll()
    2.删  clear() remove() removeAll() retainAll()(取交集)
    3.判断 contains() containsAll() equals() isEmpy()

两大子接口:
        List 接口 有序 重复
                ArrayList 类 底层是数组实现的 增删速度慢  查询速度快 不同步 效率高
                                    去除其中的相同元素时,较复杂
                Vector    类  底层也是数组实现 同步 效率底 增删速度慢 查询速度快
                
                LinkedList 类 底层是链表实现的  查询速度慢 增删速度快
                
                遍历方法:1.迭代器  2.toArray()  3.get() 和 size()  4.foreach
        
        
        Set 接口 无序 唯一
                HashSet  类 数据结构是哈希表,实现无序和唯一的方式是通过存入其中对象的hashCode()
                                    方法和equals()方法实现的
                
                TreeSet 类 无序 唯一 排序 底层实现的数据结构是红黑树 自然排序是通过实现compareable()
                                接口,重写compareTo()方法来搞定的  自定义比较器类是实现comparetor接口,重写
                                compare()方法来搞定的
    
                                
共同点:Iterator(迭代器)
              通过迭代器来遍历collection集合 在使用迭代器的过程中不可以使用集合自有的增删操作,只能
              使用Iterator的方法来操作,否在会出现异常                    
              
Map 接口 key-value
    方法:    put()
                remove()
                clear()
                containsKey()
                containsValue()
    获取:
                keySet()
                valuse()
                entrySet()
                get()

    HashMap  哈希表数据结构 保证唯一性 和无序性
    案例:HashMap<String,String>
                HashMap<Integer,String>
                HashMap<Student,String>  要重写Student的hashCode()方法和equals()方法
                HashMap<String,Student>

    TreeMap  红黑树数据结构  排序 唯一性
    案例:TreeMap<String,String>
                TreeMap<Integer,String>
                TreeMap<Student,String> Student要实现compareable接口,重写compareTo方法,或者自定义比较类
                TreeMap<String,Student>

    HashMap和HashTable的区别?
        1.HashMap的键和值都可以为null
        2.HashTable也可以,但是我们一般不这样用
        3.HashTable是同步的

    Collections操作类
        1.sort
        2.binarySearch 找的到就返回索引,找不到就返回(-(插入点)-1)
        3.max
        4.reverse(逆序)
        5.shuffle(洗牌)  使用默认随机源对列表进行置换
             

java 集合粗略总结

标签:

原文地址:http://www.cnblogs.com/ccharp/p/4666004.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!