首先你要对整个集合框架能够了解能够将他们的关系图画出来
例如
这个图你要看得懂。它的简化版本你要画出来。根据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接口 要弄清楚
============================================
差不多会用到的就这几样了。加油
|