集合map

来源:互联网 发布:工作证制作软件 编辑:程序博客网 时间:2024/05/29 19:07
java编程思想map详解
将对象映射到其它对象的能力是一种解决编程问题的杀手锏????
1 用map来检测javaRandom类的随机性
2 用containsKey()和containValues()来测试一个map是否包含某个键或者某个值
3 将map扩展到多维,在map的键和值中存放其他的集合
关于map集合的遍历 
keySet 是将map的key值存放在set中
values 是将map的values部分放在set中
entrySet  将map的键和值一起放入set中
===================================================================================


package map;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import org.junit.Test;
public class MapTest01 {
// 用map集合测试random随机生成数的频率
@Test
public void test1() {
Random rand = new Random(47);//这里的的参数 种子是什么意思???
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 0; i < 10000; i++) {
int r = rand.nextInt(20);
Integer temp = map.get(r);
map.put(r, temp == null ? 1 : temp + 1);
}
int i = rand.nextInt(10);
System.out.print(i);
System.out.print(map);
}
}
===================================================================================
package map;


import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.Test;


public class MapTest02 {
@Test
public void test() {
Map<Persion, List<? extends Pet>> map = new HashMap<Persion, List<? extends Pet>>();
map.put(new Persion("hello1"), Arrays.asList(new Dog("dog1"), new Cat("CAr1")));
map.put(new Persion("hello2"), Arrays.asList(new Dog("dog2"), new Cat("CAr2")));
map.put(new Persion("hello3"), Arrays.asList(new Dog("dog3"), new Cat("CAr3")));
System.out.println(map.keySet());
System.out.println(map.values());
for (Persion iterable_element : map.keySet()) {// 把map的键存进set中
System.out.println(iterable_element);
for (Pet iterable_element1 : map.get(iterable_element)) {
System.out.println(iterable_element1);
}
}
}
}


class Persion {


String name;


Persion(String name) {
this.name = name;
}
}


class Pet {
}


class Dog extends Pet {


public Dog(String string) {
// TODO Auto-generated constructor stub
}
}


class Cat extends Pet {


public Cat(String string) {
// TODO Auto-generated constructor stub
}
}



0 0