📜  android foreach (1)

📅  最后修改于: 2023-12-03 15:13:20.149000             🧑  作者: Mango

Android Foreach

在 Android 中,我们经常需要遍历一个 List 或者 array,这时候就可以使用 foreach 循环来遍历其中元素。foreach 循环可以让代码更加简洁易读,同时也可以避免一些繁琐的操作。

foreach 循环的语法

foreach 循环的语法如下:

for (Type var : iterable) {
    body-of-loop
}

其中,Type 表示迭代变量的类型,var 表示迭代变量的名字,iterable 表示要遍历的集合或者数组,body-of-loop 表示循环体。

foreach 循环的优缺点
优点
  • 简洁易读:foreach 循环可以让代码更加简洁易读,免去了一些繁琐的操作,如取得数组或 List 的长度,以及通过下标获取元素等。
  • 安全:foreach 循环可以避免数组下标越界或 List 空指针等问题。
缺点
  • 无法修改元素:foreach 循环无法修改集合或数组中的元素,只能读取。
  • 需要迭代器支持:如果要遍历的对象没有实现 Iterable 接口,就无法使用 foreach 循环。
使用 foreach 循环遍历 List

下面是一个使用 foreach 循环遍历 List 的例子:

List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");

for (String item : list) {
    Log.d(TAG, "item = " + item);
}

输出结果如下:

item = apple
item = banana
item = orange
使用 foreach 循环遍历数组

下面是一个使用 foreach 循环遍历数组的例子:

int[] arr = {1, 2, 3, 4, 5};

for (int item : arr) {
    Log.d(TAG, "item = " + item);
}

输出结果如下:

item = 1
item = 2
item = 3
item = 4
item = 5
使用 foreach 循环遍历 Map

下面是一个使用 foreach 循环遍历 Map 的例子:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
map.put("orange", 30);

for (Map.Entry<String, Integer> entry : map.entrySet()) {
    String key = entry.getKey();
    int value = entry.getValue();
    Log.d(TAG, "key = " + key + ", value = " + value);
}

输出结果如下:

key = apple, value = 10
key = banana, value = 20
key = orange, value = 30
使用 foreach 循环和 Lambda 表达式

在 Java 8 中,配合 Lambda 表达式,foreach 循环可以更加简化。

下面是一个使用 foreach 循环和 Lambda 表达式遍历 List 的例子:

List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");

list.forEach(item -> {
    Log.d(TAG, "item = " + item);
});

输出结果如下:

item = apple
item = banana
item = orange
总结

foreach 循环是 Android 开发中常用的一种遍历方式,可以使代码更加简洁易读,同时也可以避免一些繁琐的操作。在应用中,foreach 循环应用广泛,掌握 foreach 循环的使用方法可以帮助我们更好地进行开发。