一、数组的遍历
1.1、定义一个数组:
int [ ] arr={12,21,23,1,33,53,63};
1.2、遍历数组的方法:
1.2.1 第一种:根据下标遍历数组
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
1.2.2 第二种:jdk5.7之后的新特性(增强for循环或者foreach)遍历数组
结构如:
for(数组中元素的类型 变量名: 数组名){
System.out.println(变量名)
}
实例如:
for(int ss:arr){
System.out.println(ss);
}
二、集合List的遍历(都以ArrayList<>泛型为例,其余的LinkList<>、Vocter<>、HashSet<>、TreeSet<>集合遍历方法都是通用的)
2.1、定义一个ArrayList集合:
ArrayList<String> list = new ArrayList<>();
list.add("sdss");
list.add("sds");
list.add("sd");
list.add("s");
2.2、遍历集合List的方法:
2.2.1 第一种: 获取List迭代器iterator(),去遍历集合List
Iterator<String> it = list.iterator();
while (it.hasNext()){
String next = it.next();
System.out.println(next);
}
2.2.2 第二种: 通过List下标遍历List集合
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
2.2.3 第三种:jdk5.7之后的新特性(增强for循环或者foreach)遍历List集合
结构如:
for(List集合泛型中元素的类型 变量名: List集合名){
System.out.println(变量名)
}
实例如:
for(String ss:list){
System.out.println(ss);
}
三、Map集合的遍历(以HashMap<K,V>泛型为例,其余的Hashtable<K,V>都继承了Map的方法,所以遍历方法都是通用的)。
3.1、定义一个Map集合:
Map<Integer, String> map = new HashMap<>();
map.put(1, "zhangsan");
map.put(2, "lisi");
map.put(3, "wangwu");
map.put(4, "zhaoliu");
3.2、遍历集合List的方法:
3.2.1 第一种: 获取所有的键值key,通过遍历键值key,来遍历value(这种方式就是利用Map集合中的keySet()方法去获取到一个所有key的Set集合。效率较低,不适合遍历大量的数据)
Set<Integer> keys = map.keySet();
for (Integer key : keys) {
String value = map.get(key);
System.out.println("键值" + key + "对应的value的值为:" + value);
}
3.2.2 第二种: Set<Map.Entry<K,V>> entrySet()【这种方式就是利用Map集合中的entrySet()方法将Map集合全部转换成Set集合。Set集合中的元素的类型是:Map.Entry。效率比较高,数据量大的时候使用,因为获取key和value都是直接从node对象中获取的属性值。】
Set<Map.Entry<Integer, String>> set = map.entrySet();
Iterator<Map.Entry<Integer, String>> it = set.iterator();
//Set集合使用迭代器遍历
while (it.hasNext()) {
Map.Entry<Integer, String> node = it.next();
Integer key = node.getKey();
String value = node.getValue();
System.out.println("键值" + key + "对应的value的值为:" + value);
}
//Set集合使用JDK5.7之后的新特性增强for循环foreach遍历
for(Map.Entry<Integer,String> node : set){
Integer key = node.getKey();
String value = node.getValue();
System.out.println("键值" + key + "对应的value的值为:" + value);
}