A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 樱空之雪 中级黑马   /  2015-4-7 22:16  /  642 人查看  /  14 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

高级for循环

格式:for(数据类型 变量名 : 被遍历的集合(Collection)或者数组) { }

对集合进行遍历。只能获取集合元素。但是不能对集合进行操作。

迭代器除了遍历,还可以进行remove集合中元素的动作。

如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。

传统for和高级for有什么区别呢?

高级for有一个局限性。必须有被遍历的目标。

建议在遍历数组的时候,还是希望是用传统for。因为传统for可以定义脚标。


class ForEachDemo

{ public static void main(String[] args)

{ ArrayList<String> al = new ArrayList<String>();

al.add("abc1");

al.add("abc2");

al.add("abc3");

for(String s : al)

{

//s = "kk";

System.out.println(s);

}

System.out.println(al);

/*

Iterator<String> it = al.iterator();

while(it.hasNext())

{

System.out.println(it.next()); }  */

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

for(int x=0; x<arr.length; x++)

{ System.out.println(arr[x]); }

for(int i : arr)

{ System.out.println("i:"+i); }

HashMap<Integer,String> hm = new HashMap<Integer,String>();

hm.put(1,"a");

hm.put(2,"b");

hm.put(3,"c");

Set<Integer> keySet = hm.keySet();

for(Integer i : keySet)

{ System.out.println(i+"::"+hm.get(i)); }

// Set<Map.Entry<Integer,String>> entrySet = hm.entrySet();

// for(Map.Entry<Integer,String> me : entrySet)

for(Map.Entry<Integer,String> me : hm.entrySet())

{ System.out.println(me.getKey()+"------"+me.getValue()); }

}

}

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

14 个回复

正序浏览
赞一个!
回复 使用道具 举报
支持总结,支持分享
回复 使用道具 举报
谢谢分享心得
回复 使用道具 举报
看看多么牛的循环,加强for循环,我们都很喜欢的循环,专门给懒人用的,哈哈
回复 使用道具 举报
新东西啊
回复 使用道具 举报
赞一个!!!
回复 使用道具 举报
:handshake:handshake:handshake
回复 使用道具 举报
赞一个,。。
回复 使用道具 举报
很给力 赞一个
回复 使用道具 举报
好样的~学习了~
回复 使用道具 举报
你学习了多长时间 ,感觉 这里面的人都很厉害
回复 使用道具 举报
有帮助!
回复 使用道具 举报
package cn.itcast_01;

import java.io.File;
import java.io.FilenameFilter;

/*
* 获取指定目录下指定后缀的文件名称:
* A:先获取指定目录下所有文件或者文件夹的File数组,然后再遍历的时候进行判断。满足条件的就输出该File的名称。
* B:直接获取指定目录下满足条件的String(File)数组。然后遍历数组即可。
*
* 文件名称过滤器:FilenameFilter
*                 public String[] list(FilenameFilter filter)
*/
public class FileDemo {
        public static void main(String[] args) {
                // 封装目录
                File file = new File("d:\\");

                // 获取满足条件的数组
                String[] strArray = file.list(new FilenameFilter() {
                        @Override
                        public boolean accept(File dir, String name) {
                                // 判断是否是文件,是否是以.mp4结尾
                                // System.out.println(dir + "---" + name);
                                File file = new File(dir, name); // d:\我的文档
                                boolean flag = file.isFile();
                                boolean flag2 = name.endsWith(".mp4");
                                return flag && flag2;
                        }
                });

                // 遍历字符串数组
                for (String str : strArray) {
                        System.out.println(str);
                }
        }
}


回复 使用道具 举报
赞一个!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马