Java常见集合遍历方式

Java常见集合遍历方式

public static void main(String[] args) {
ListFor(2);
}

public static void ListFor(int a){
//测试list集合遍历(直接有四种遍历方式)
final ArrayList<Integer> integers = new ArrayList<>();
integers.add(1);
integers.add(2);
integers.add(3);
integers.add(4);
//测试set集合遍历(一般转换成数组进行遍历)
HashSet<String> strings = new HashSet<>();
strings.add("张三");
strings.add("123");
strings.add("张三");
//测试map集合遍历
HashMap<Integer, String> map = new HashMap<>();
map.put(1,"麻婆豆腐");
map.put(2,"红烧牛肉");
map.put(3,"狮子头");


//1.经典循坏遍历:效率最高遍历快,但是不适用于所有集合实用范围小
if (a==1) {
//list集合遍历
for (int i = 0; i < integers.size(); i++) {
System.out.println(integers.get(i));
}
//set集合遍历
Object[] objects = strings.toArray();
for (int i = 0; i < objects.length; i++) {
System.out.println(objects[i]);
}
}
//2.迭代器遍历:遍历时可以操作元素,但是相对于其他遍历方式效率比较慢
if (a==2){
//list集合遍历
Iterator<Integer> iterator = integers.iterator();
while (iterator.hasNext()){
System.out.print(iterator.next());
}
//set集合遍历
Iterator<String> iterator1 = strings.iterator();
while (iterator1.hasNext()){
System.out.println(iterator1.next());
}
//map集合遍历
Iterator<Map.Entry<Integer, String>> iterator2 = map.entrySet().iterator();
while (iterator2.hasNext()){
Map.Entry<Integer, String> entry = iterator2.next();
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
//3.加强for循环遍历:代码简洁,但是不能操作元素
if (a==3){
//list集合遍历
System.out.println("加强for循环遍历结果:");
for (Integer integer:integers){
System.out.println(integer);
}
//set集合遍历
for (String str:strings){
System.out.println(str);
}
//map集合遍历
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
//4.lambda表达式遍历
if (a==4){
System.out.println("lambda表达式遍历");
// JDK8之后才有的遍历
// integers.forEach(integer-> System.out.println(integer));
}
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Java常见集合遍历方式