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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ゞSunペ果果つ 中级黑马   /  2013-4-15 10:04  /  1590 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ゞSunペ果果つ 于 2013-4-15 16:31 编辑

我们应该回到啥程度啊?我们应该了解到啥程度啊,总觉得是个重点,但是自己理解不够深刻
hashTable:底层是哈希表数据结构,不可以存入null键,null值,线程同步
hastMap:底层是哈希表数据结果,可以存入null键,null值,没有线程同步
TreeMap:底层是二叉树数据结构,线程不同步,可以通过key值经行排序。
Vector 取出数据的方式是:枚举类型,底层是数组数据结构,线程同步
ArrayList:底层的数据结构是使用的数组结构,。特点:查询速度快,但是增删慢,线程不同步
LinkedLIst:底层使用的是链表数据结构,特点:增删速度快,查询慢。
对于一个初学者我们到底应该掌握到啥程度算是可以熟练用了?求高人指点。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

4 个回复

倒序浏览
常用的方法记住,会查API就可以了。
你对类集框架理解的概念已经很透彻了!
回复 使用道具 举报
首先你要对整个集合框架能够了解能够将他们的关系图画出来
例如
这个图你要看得懂。它的简化版本你要画出来。根据List,Set,Map之间的关系

然后根据他们的底层原理,他们的常用遍历方式必须掌握。例如List集合的三种遍历方式
①因为List是有序的(存入顺序和取出顺序一样) 通过 size 和 get方法进行遍历
for (int i = 0; i < list.size(); i++) {
                        String s = list.get(i);
                        System.out.println(s);
                }

②因为List 继承 Collection 接口 ,通过 Collection的iterator进行遍历                Iterator<String> iterator = list.iterator();
                // 遍历iterator 通过 迭代器 hasNext 和 next 方法进行遍历
                while (iterator.hasNext()) {
                        String s = iterator.next();
                        System.out.println(s);
                }

③ JDK5 引入 foreach循环 结构 ,通过foreach结构 遍历 list
                for (String s : list) {
                        System.out.println(s);
                }
===============================================
Set方法的两种遍历
①// 取出Set元素 --- 两种 因为Set是无序的,所以比List少一种遍历方法                // 第一种 继承 Collection 所以使用 Iterator 遍历
                Iterator<String> iterator = set.iterator();
                while (iterator.hasNext()) {
                        String s = iterator.next();
                        System.out.println(s);
                }
②// 第二种 JDK5 引入 foreach 可以使用foreach 遍历 Set                for (String s : set) {
                        System.out.println(s);
                }

===================================================
Map的两种遍历
① 通过 Map 的 keySet进行遍历
                Set<String> keys = map.keySet(); // 获得key集合
                for (String key : keys) {
                        System.out.println(key + ":" + map.get(key));
                }

② 通过 map的 entrySet ---- 获得每一个键值对
                Set<Map.Entry<String, String>> entrySet = map.entrySet(); // 每一个元素
                // 就是一个键值对
                for (Entry<String, String> entry : entrySet) {
                        // 通过 entry的 getKey和getValue获得每一个键和值
                        System.out.println(entry.getKey() + ":" + entry.getValue());
                }

==========================================================
接下来你要会集合的查询操作。添加,删除操作
(1) 单元素添加、删除操作:

boolean add(Object o):将对象添加给集合

boolean remove(Object o): 如果集合中有与o相匹配的对象,则删除对象o

(2) 查询操作:

int size() :返回当前集合中元素的数量

boolean isEmpty() :判断集合中是否有任何元素

boolean contains(Object o) :查找集合中是否含有对象o

Iterator iterator() :返回一个迭代器,用来访问集合中的各个元素

(3) 组操作 :作用于元素组或整个集合

boolean containsAll(Collection c): 查找集合中是否含有集合c 中所有元素

boolean addAll(Collection c) : 将集合c 中所有元素添加给该集合

void clear(): 删除集合中所有元素

void removeAll(Collection c) : 从集合中删除集合c 中的所有元素

void retainAll(Collection c) : 从集合中删除集合c 中不包含的元素
==========================================
接下来是集合框架中的比较接口
Comparable接口和Comparator接口 要弄清楚

============================================
差不多会用到的就这几样了。加油

评分

参与人数 1技术分 +2 收起 理由
黄玉昆 + 2

查看全部评分

回复 使用道具 举报
受教了,我刚好有这样的疑问。 谢了,楼上的帅哥
回复 使用道具 举报
谭威 发表于 2013-4-15 12:14
首先你要对整个集合框架能够了解能够将他们的关系图画出来
例如
这个图你要看得懂。它的简化版本你要画出来 ...

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