Java复习笔记——Map运用(检测Random特性,多维集合,二叉树实现)
2017-08-09 16:03
309 查看
Map
使用Map来统计Random的特性,用键来表示某个数字,Value表示改值出现的次数Random rand = new Random(47); Map<Integer ,Integer> m = new HashMap<>(); for(int i =0;i<10000;i++){ int r =rand.nextInt(20); Integer count = m.get(r); m.put(r, count==null?1:count+1); } System.out.println(m);
使用Map实现多维集合,Value为 List、Set、Map
public class SortTest { public static Map<Integer ,List<? extends Pet>> petPeople =new HashMap<>(); static { petPeople.put(1, Arrays.asList(new Pet("cat1"),new Pet("CAT2"))); petPeople.put(2, Arrays.asList(new Pet("DOG1"),new Pet("DOG2"), new Pet("Dog3"))); petPeople.put(3, Arrays.asList(new Pet("TIGR1"),new Pet("TIGR2"))); petPeople.put(4, Arrays.asList(new Pet("Mouse1"),new Pet("Mouse2"),new Pet("Mouse3"))); } public static void main(String[] args) { System.out.println(petPeople.keySet()); System.out.println(petPeople.values()); for(Integer i :petPeople.keySet()){ for(Pet pet : petPeople.get(i)){ System.out.println(pet.name); } }
Arrays.asList(T...a) 将不固定参数内容 包装为一个List返回
二叉树的实现
public class BinaryTree { private Node root; public static void main(String[] args) { // TODO Auto-generated method stub BinaryTree bt = new BinaryTree(); bt.add(8); bt.add(5); bt.add(4); bt.add(3); bt.add(7); bt.print(); } public void add(int i) { // TODO Auto-generated method stub if (root == null) { root = new Node(i); } else { root.addNode(i); } } public void print() { root.printNode(); } } class Node { /** * 创建节点,每个节点分别有左节点、有节点、内容 * 每个节点都有添加节点的方法,如果添加的内容大于 节点内容就放在右节点,反之放在左节点 */ public Node left; public int data; public Node right; public Node(int data) { this.data = data; } /** * * @param i * * 如果添加的内容大于 节点内容就放在右节点,反之放在左节点 * 如果左节点为空就创建左节点, * 如果不为空则调用addNode(),循环判断左右子节点是否为空 */ public void addNode(int i) { if (i > this.data) { if (this.right == null) { right = new Node(i); } else { right.addNode(i); } } else { if (left == null) { left = new Node(i); } else { left.addNode(i); } } } public void printNode() { if (left != null) { left.printNode(); } System.out.println(data + " "); if (right != null) { right.printNode(); } } }
相关文章推荐
- (五)、Java复习笔记之Map集合
- 黑马程序员________Java集合Map及其JDK1.5新特性泛型机制的学习笔记
- Java基础复习:Map集合的输出
- (Java)集合的综合运用实例——实现学生信息管理
- 黑马程序员_JAVA笔记16——集合(Map)
- 黑马程序员-java集合笔记之map
- Java基础复习:Map集合常用类 && Collections类 && Arrays类
- java集合之间的关系及实现细节(1)——Set与Map
- Java8新增的Map集合以及各Map的实现
- Java实现Map集合二级联动
- JAVA笔记10__Math类、Random类、Arrays类/日期操作类/对象比较器/对象的克隆/二叉树
- JAVA核心技术学习笔记(第七版,Ⅱ高级特性之集合)
- java笔记-集合框架-泛型、Map集合
- js模仿java的Map集合,实现功能
- java学习笔记—自定义实现linkedList集合
- 01-java基础加强,eclipse工具使用,快捷键,断点调试,单元测试,jdk5新特性,增强for循环,集合map,list,可变参数,枚举,反射,泛型
- java集合复习笔记-java集合继承关系图
- 黑马程序员java笔记之一-----Map集合
- Java 泛型学习(二)泛型集合应用:实现对Map的迭代
- JS实现Map,利用JS原生特性(上一篇是仿Java)