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、本博客的目的是知识交流所用,转载自其它博客或网站,作为自己的参考资料的,感谢这些文章的原创人员
Foreach与Random的更多相关文章
- [].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) })
问问你自己,看得懂这行代码吗?要是看不懂就点击进来看看吧,要是看的懂得话,可以绕路 1.call:call(thisObj,arg1,arg2,arg3) [].forEach.call($$(&qu ...
- 一个关于Random算法的问题
指定范围数字,生成随机序列,数字不连续:例如:范围[1-5] 输入 1 3 5 2 4 下面分享两种算法: 算法1:RmNum<RmNext 下面这种算法计算是无压力的 /// <sum ...
- c#部分---一维数组、冒泡排序、foreach的用法
一维数组:2016-10-14 定义方式:{定义的时候,需要数据类型.长度!} 1.int []aa=new int [5]; 表示数组里面有5个字符: 2.int []aa=new int []{ ...
- js中forEach无法跳出循环?
1. forEach() forEach() 方法从头至尾遍历数组,为每个元素调用指定的函数.如上所述,传递的函数作为forEach()的第一个参数.然后forEach()使用三个参数调用该 函数:数 ...
- Parallel for-each loops in .NET C# z
An IEnumerable object An Action of T which is used to process each item in the list List<string&g ...
- Foreach语法
先看例子: Random rand = new Random(47); float f[] = new float[10]; for(int i = 0; i < 10; i++){ f[i] ...
- for/foreach/linq效率测试
; Random r = new Random(); List<byte> list = new List<byte>(); Console.WriteLine("开 ...
- 再来写一个随机数解决方案,对Random再来一次封装
本文提供对Random的封装,简化并扩展了其功能 获取随机数,确保同时调用不会重复 //new Random().Next(5); RandomTask.Next(); 从一个列表中,随机获取其中某个 ...
- C# 使用Parallel并行开发Parallel.For、Parallel.Foreach实例
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...
随机推荐
- BZOJ 2440 完全平方数(莫比乌斯-容斥原理)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2440 题意:给定K.求不是完全平方数(这里1不算完全平方数)的倍数的数字组成的数字集合S ...
- Java语言基本语法
Java语言基本语法 一.标识符和关键字 标识符 在java语言中,用来标志类名.对象名.变量名.方法名.类型名.数组名.包名的有效字符序列,称为“标识符”: 标识符由字母.数字.下划线.美元符号组成 ...
- Android开发之异步通信Handler机制
郭大神的:http://blog.csdn.net/guolin_blog/article/details/9991569 http://www.jianshu.com/p/08cb3665972f ...
- moment 和ko 绑定msdate格式的日期值(静态text)
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...
- uva12034Race
递推,组合. 考虑第一名有i个人,则f[n]=sum(C(n,i)*f[n-i]),递推即可.. #include<cstdio> #include<algorithm> #i ...
- UVA 550 Multiplying by Rotation (简单递推)
题意:有些数字是可以这样的:abcd*k=dabc,例如179487 * 4 = 717948,仅仅将尾数7移动到前面,其他都不用改变位置及大小.这里会给出3个数字b.d.k,分别代表b进制.尾数.第 ...
- django - django 承接nginx请求
# -*- coding: utf-8 -*- import os import sys import tornado.ioloop import tornado.web import tornado ...
- liunx环境下的mysql数据库配置文件my.conf内的参数含义
[client]port = 3306socket = /tmp/mysql.sock [mysqld]port = 3306socket = /tmp/mysql.sock basedir = /u ...
- Oracle DBA 的常用Unix参考手册(二)
9.AIX下显示CPU数量 # lsdev -C|grep Process|wc -l10.Solaris下显示CPU数量# psrinfo -v|grep "Status of pr ...
- [FIX BUG]获取theme中自定义textColor时报的错误
我在Fragment中inflate它都可以,可是一旦使用ListView来inflate就会报错,说找不到我自定义的attr!研究了半天发现是我的inflate的context有问题: view = ...