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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 齐连涛 中级黑马   /  2012-10-20 10:48  /  3057 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 lhkqlt 于 2012-10-20 11:09 编辑

如题.....   老师好像没提到

评分

参与人数 1黑马币 +10 收起 理由
刘芮铭 + 10

查看全部评分

3 个回复

倒序浏览
此实现不同步。如果多个线程同时访问一个 TreeSet,而其中至少一个线程修改了该 set,那么它必须外部同步。
见API.

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
呵呵,集合里只有vecter是同步的,通常的集合都是不同步的。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 廖智 于 2012-10-20 11:20 编辑

          集合的技巧掌握:
                     1、是否同步
                      明确具体集合对象名称的后缀:
                                如果后缀是List,都所属于List体系。通常都是非同步的。
                                如果后缀是Set,都属于set体系,通常也是非同步的。
                                这些体系中的其他子类对象,后缀不是所属接口名的,一般都是同步的。比如Vector。
                                因为后期升级主要是为了提高效率,所以一般都是非同步的。
                        
                     2、明确数据结构:
                              对于jdk1.2版本的子类对象。
                              后缀名是所属的体系。
                              前缀名就是数据结构的名称。
                              比如:
                                        ArrayList:看到Array,是数组结构。查询块
                                        LinkedList:看到Link,就要想到链表结构。就要想到add get remove 和 first last结合的方法。增删快。
                                        HashSet:看到hash,就知道是哈希表。查询巨快。而且唯一性。
                                                就要想到元素必须覆盖hashCode方法和equals方法。
                                        TreeSet:看到Tree,就要明确是二叉树,可以对元素排序。
                                                就要想到两种排序方式:
                                                        自然顺序:Comparable接口,覆盖compareTo(一个参数)java.lang
                                                        比较器:Comparator接口,覆盖compare(两个参数);java.util
                                                                判断唯一性的依据就是比较方法的返回结果return 0;
        

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马