前置知识:
1、Collection 中 List/Set 的用法
2、Map 的使用方法
/**
* 各个集合的遍历,有两种方式:
* 1、循环 for (普通 for 循环 和 增强版 for 循环)
* 2、迭代器 Iterator 进行遍历
*/
迭代器的使用方式:
迭代器(Iterator) 进行遍历:
hasNext() 1、判断是否存在下一个元素 true/false
2、如果有,指针后移
next() : 取出当前元素
遍历List 集合的方式:
public static void main(String[] args) {
List list = new ArrayList();
list.add("aa");
list.add("bb");
list.add("cc");
// 用普通 for 进行遍历:
System.out.println("-----------List集合用 普通 for 进行遍历 ----------");
for(int i = 0; i < list.size(); i ++) {
System.out.println(list.get(i));
}
// 增强 for 进行遍历
// for(元素类型 变量: 数组名)
System.out.println("-----------List集合用 增强 for 进行遍历 ----------");
for (Object o : list) {
System.out.println(o);
}
System.out.println("--------迭代器遍历 List 集合 ---------------");
Iterator iterator1 = list.iterator();
while(iterator1.hasNext()) {
System.out.println(iterator1.next());
}
}
遍历Set 集合的方式:
public static void main(String[] args) {
Set set = new HashSet();
set.add("a");
set.add("b");
set.add("c");
// 无法使用 普通循环进行遍历, set 是无序的,也就是说下标是无序的,不像 list 有 get(int index) 方法
for(int i = 0; i < set.size(); i ++) {
}
// Set 集合必须通过 增强 for 进行遍历
System.out.println("-----------Set集合用 增强 for 进行遍历 ----------");
for(Object o : set) {
System.out.println(o);
}
System.out.println("--------迭代器遍历 Set 集合 ---------------");
Iterator iterator = set.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
}
遍历 Map 集合的方法:
public static void main(String[] args) {
System.out.println("---------- 遍历 Map 的几种方法 --------------");
/**
* 遍历 Map : 将双值集合,转为单值集合
*
* */
System.out.println("---------- 遍历 Map : 将双值集合,转为单值集合 -------------- ");
Map map = new HashMap();
map.put("01","zs");
map.put("02","ls");
map.put("03","ww");
Set set1 = map.keySet();
Collection values = map.values();
for (Object s : set1) {
System.out.println(s);
}
for (Object v : values) {
System.out.println(v);
}
System.out.println("------------ 转换为单值集合后 ,直接通过 key 取 value 即可 -----------");
for (Object s : set1) {
System.out.println("key:" + s);
System.out.println("value:" + map.get(s));
}
// 通过 entity 直接取出一个 键值对 进行遍历
System.out.println("-------------- 通过 entity 直接取出一个 键值对 进行遍历 -------------");
Set entities = map.entrySet();
for (Object e : entities) {
Map.Entry en = (Map.Entry) e;
Object key = en.getKey();
Object value = en.getValue();
System.out.println("key = " + key + " " + "value =" + value);
}
}