【记忆贴】
1)foreach语句可以用于数据或者其他任何Iterable,但是并不意味着数组肯定也是一个Iterable,而任何自动包装也不会自动发生。
1 package thinking.in.java.demo; 2 3 import java.util.Arrays; 4 5 public class TestForeach { 6 7 /** 8 * @param args 9 */ 10 public static void main(String[] args) { 11 test(Arrays.asList(1, 2, 3)); 12 String[] strings = { "A", "B", "C" }; 13 // 错误的用法test(strings) 14 test(Arrays.asList(strings)); 15 } 16 17 public static <T> void test(Iterable<T> ib) { 18 for (T t : ib) { 19 System.out.print(t + " "); 20 } 21 } 22 }
2)Map是将对象映射到其他对象的能力是一种解决编程问题的杀手锏。例如考虑一个程序,它将用来检查Java的Random类的随机性。理想吧状态下,Random可以将产生理想的数字分布,弹药想测试它,则需要生成大量的随机数,并对落入各种不同范围的数据进行计数。Map可以很容易的解决该问题。在本例中,键是由Random产生的数字,而值是该数字出现的次数:
1 package thinking.in.java.demo; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 import java.util.Random; 6 7 //page234 8 public class Stastic { 9 10 /** 11 * @param args 12 */ 13 public static void main(String[] args) { 14 15 Map<Integer, Integer> map=new HashMap<Integer,Integer>(); 16 Random random=new Random(47); 17 for(int i=0;i<10000;i++){ 18 //0-20(不包括20) 19 int r=random.nextInt(20); 20 Integer count=map.get(r); 21 map.put(r, count==null?1:count+1); 22 } 23 System.out.println(map); 24 } 25 26 }
随机数种子seed:Random random=new Random(47);指定随机数种子,无论你把程序运行多少遍,产生的随机数序列都是相同的,如果不指定种子的话,则每次产生的随机数序列都不同。
本文为博主原创文章,转载请注明出处:http://www.cnblogs.com/ysw-go/
1、本博客的原创原创文章,都是本人平时学习所做的笔记,如有错误,欢迎指正。
2、如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理文章。
3、本博客的目的是知识交流所用,转载自其它博客或网站,作为自己的参考资料的,感谢这些文章的原创人员