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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 崔云飞 初级黑马   /  2012-6-20 11:03  /  1255 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下面是学完Java集合后自己梳理出来的一些笔记,有什么不完善的地方还请大家指出来,一起总结一起进步
Java 中的集合:两大接口 collection和map
Collection 两个子接口 Set和List
        List 是有序的集合,能精确地控制每一个元素的插入位置。三个直接实现类 LinkedList  ArrayList  Vector
        LinkedList  内部由链表实现,没有实现同步,多个线程同时访问List需要自己解 决同步问题。由于是采用链表的实现,对数据的插入和删除会表现出较高的效率,但是对数据的查询和定位效率较低。
        ArrayList 是采用一个可变的数组实现,对数据的插入删除效率较低,到时数据的查询和定位效率较高。
        Vector 相对于ArrayList实现了同步的问题,它还有一个子类Stack栈,实现先进先出。
       
        Set是一种不包含重复元素的集合,最多只能有一个NULL。
        HashSet是用一张哈希表做数据存储,它是无序的,可以随机访问,是Set的最优性能实现。
        TreeSet 实现了Set的一个子接口SortedSet,使用一棵红黑树来存储元素,被加入的元素必须实现comparable接口,插入时使用comparator进行排序。
        使用Set集合时需要注意,当存储可变对象时,可能经过改变出现重复的元素,这从根本上违反了Set的不可重复的原则,Set的行为将变得不可预测。
       
Map 两个实现类HashMap HashTable
        Map 提供Key-value的映射集合,key不能重复,value能重复
        Hashmap不是同步的  Hashtable是同步的
        注意:作为key的对象必须同时重写hashcod()和 equies()方法

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
      注意:作为key的对象必须同时重写hashcod()和 equies()方法
楼主注意的两个方法名都写错了。。不觉得别扭么,抱歉我不怎么会说话。

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
闾丘日月 发表于 2012-6-20 11:44
注意:作为key的对象必须同时重写hashcod()和 equies()方法
楼主注意的两个方法名都写错了。。不 ...

eclipse里都用自动提示了,word里不习惯,谢谢指出:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马