Android遍历数组、集合和Map

一、使用增强for循环遍历数组:

String [] arr = {"a", "b", "c"};//数组的静态定义方式,只试用于数组首次定义的时候
for(String s : arr) {
  System.out.println(s);   
}

二、遍历集合:

List list = new ArrayList();
list.add("aaa");
// 增强for循环, 没有使用泛型的集合能不能使用增强for循环迭代?能
for(Object obj : list) {
  String s = (String) obj;
  System.out.println(s);
}

三、遍历Map:(需将Map转成Set之后遍历)

Map map = new HashMap();
map.put("a", "aaa");
// 传统方式:必须掌握这种方式
Set entrys = map.entrySet(); // 1.获得所有的键值对Entry对象
iter = entrys.iterator(); // 2.迭代出所有的entry
while(iter.hasNext()) {
  Map.Entry entry = (Entry) iter.next();
  String key = (String) entry.getKey(); // 分别获得key和value
  String value = (String) entry.getValue();
  System.out.println(key + "=" + value);
}
// 增强for循环迭代:原则上map集合是无法使用增强for循环来迭代的,因为增强for循环只能针对实现了Iterable接口的集合进行迭代;Iterable是jdk5中新定义的接口,就一个方法iterator方法,只有实现了Iterable接口的类,才能保证一定有iterator方法,java有这样的限定是因为增强for循环内部还是用迭代器实现的,而实际上,我们可以通过某种方式来使用增强for循环。
for(Object obj : map.entrySet()) {
  Map.Entry entry = (Entry) obj;  // obj 依次表示Entry
  System.out.println(entry.getKey() + "=" + entry.getValue());
}




你可能感兴趣的:(Android)