由于set与map是无序的,所以只有两种遍历方式
一.List的三种遍历方式
- list遍历
/**
* @ Author: Zhangyu
* @ Date: 2020/7/30
* @ Description:
*/
public class Test {
public static void main(String[] args) {
List list=new ArrayList();
list.add("a");
list.add("b");
list.add("c");
for (int i = 0; i <list.size(); i++) {//通过下标遍历集合
System.out.println(list.get(i));
}
for (Object o : list) {//增强for
System.out.println(o);
}
Iterator listItr = list.iterator();//迭代器
while (listItr.hasNext()){
System.out.println(listItr.next());
}
}
}
二.Set与Map的两种遍历方式
- set遍历
/**
* @ Author: Zhangyu
* @ Date: 2020/7/30
* @ Description:
*/
public class Test {
public static void main(String[] args) {
Set set=new HashSet();
set.add("a");
set.add("b");
set.add("c");
for (Object o : set) {//第一种(当传入的是对象时,使用时需要转型)
System.out.println(o);
}
Iterator setItr = set.iterator();//第二种通过迭代器遍历
while (setItr.hasNext()){
System.out.println(setItr.next());
}
}
}
- Map遍历(其原理还是通过将所以key键转成set集合,使用set来遍历map)
/**
* @ Author: Zhangyu
* @ Date: 2020/7/30
* @ Description:
*/
public class Test {
public static void main(String[] args) {
Map map=new HashMap();
map.put(1,"a");//增
map.put(2,"b");
map.put(3,"c");
Set kaySet = map.keySet();//获取所有的key键,转成set集合
for (Object o : kaySet) {//通过增强for遍历set集合
System.out.println(o+":"+map.get(o));
}
Iterator ketItr = kaySet.iterator();
while (ketItr.hasNext()){//通过迭代器遍历
Object k=(Object)ketItr.next();
System.out.println(k+":"+map.get(k));
}
}
}