zoukankan      html  css  js  c++  java
  • Foreach与Random

    【记忆贴】

    1)foreach语句可以用于数据或者其他任何Iterable,但是并不意味着数组肯定也是一个Iterable,而任何自动包装也不会自动发生。

    package thinking.in.java.demo;
    
    import java.util.Arrays;
    
    public class TestForeach {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            test(Arrays.asList(1, 2, 3));
            String[] strings = { "A", "B", "C" };
            // 错误的用法test(strings)
            test(Arrays.asList(strings));
        }
    
        public static <T> void test(Iterable<T> ib) {
            for (T t : ib) {
                System.out.print(t + " ");
            }
        }
    }

    2)Map是将对象映射到其他对象的能力是一种解决编程问题的杀手锏。例如考虑一个程序,它将用来检查Java的Random类的随机性。理想吧状态下,Random可以将产生理想的数字分布,弹药想测试它,则需要生成大量的随机数,并对落入各种不同范围的数据进行计数。Map可以很容易的解决该问题。在本例中,键是由Random产生的数字,而值是该数字出现的次数:

    package thinking.in.java.demo;
    
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Random;
    
    //page234
    public class Stastic {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
    
            Map<Integer, Integer> map=new HashMap<Integer,Integer>();
            Random random=new Random(47);
            for(int i=0;i<10000;i++){
                //0-20(不包括20)
                int r=random.nextInt(20);
                Integer count=map.get(r);
                map.put(r, count==null?1:count+1);
            }
            System.out.println(map);
        }
    
    }

    随机数种子seed:Random random=new Random(47);指定随机数种子,无论你把程序运行多少遍,产生的随机数序列都是相同的,如果不指定种子的话,则每次产生的随机数序列都不同。


    本文为博主原创文章,转载请注明出处:http://www.cnblogs.com/ysw-go/
    1、本博客的原创原创文章,都是本人平时学习所做的笔记,如有错误,欢迎指正。
    2、如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理文章。
    3、本博客的目的是知识交流所用,转载自其它博客或网站,作为自己的参考资料的,感谢这些文章的原创人员

  • 相关阅读:
    windows 7 系统下,用户每次登录都是以临时配置文件的形式存在于users文件夹下
    string按行读取以及按空格分隔
    socket.io技术学习记录
    node.js实现js连接mysql数据库
    ajax在j2ee和js服务器上数据基本交换
    layui与jquery冲突导致下拉框无法显示的解决方法
    nativefier——将本地网页转化为桌面应用
    jquery——移动端touch事件
    Hibernate中使用HQL语句进行增,删,改,查
    一言不合敲代码(2)——八数码问题游戏
  • 原文地址:https://www.cnblogs.com/ysw-go/p/5457759.html
Copyright © 2011-2022 走看看