package com.zj.exercise;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.TreeMap;
/**
* 随机生成50个整数,每个数字的范围是[10,50],统计每个数字出现的次数
* 以及出现次数最多的数字与它的个数,最后将每个数字及其出现次数打印出来,
* 如果某个数出现次数为0,则不要打印它,打印的时候,按升序排列
* 使用Map实现
* @author zhengjiong
* time:2011-9-15 下午05:38:10
*/
public class TreeMap_Test1 {
public static void main(String[] args) {
Random random = new Random();
Map map = new TreeMap();//key用于存放随机数,value用于存放随机数的个数
//生成50个[10,50]随机数
for(int i = 0; i < 50; i++){
Integer in = new Integer(random.nextInt(41) + 10);
if(map.get(in) == null)
{
map.put(new Integer(in), new Integer(1));
}else{
int value = ((Integer)map.get(in)).intValue();
map.put(in, new Integer(value + 1));
}
}
LinkedList list = new LinkedList();//用于最大出现次数的数
//找到Map中最大的value
Integer max = (Integer)Collections.max(map.values());
Set set = map.entrySet();
for(Iterator i = set.iterator(); i.hasNext();)
{
Map.Entry entry = (Map.Entry)i.next();
int key = ((Integer)entry.getKey()).intValue();
int value = ((Integer)entry.getValue()).intValue();
System.out.println(key + " : " + value+"次");
//找到出现次数最多的数,并存入LinkedList
if(max.intValue() == value){
list.add(key);
}
}
System.out.println("最大次数 = "+max + "其中有:");
for(Iterator i2 = list.iterator(); i2.hasNext();){
System.out.print(i2.next() + " ");
}
}
}
分享到:
相关推荐
javascript 集合类 LinkedList代码实现
源码解析jdk7.0集合:LinkedList的底层实现原理.pdf
阶段练习:实现链表(LinkedList) 简介:写一个链表的数据结构,要求实现IList接口。 具体要求: 1、 使用代码规范。 2、 至少对IList中的Add,Remove,Insert,Indexer,IEnumerator进行单元测试。 3、 对上述每个...
基于双向链表实现的列表,支持在任意位置的插入和删除操作。
第8天 集合今日学习内容List集合Set集合今日学习目标能够说出List集合特点使用List存储的数据结构能够说出List常见的三个的特点能够说出Set集合的
List接口中常用的方法增加元素方法add(Object e):向集合末尾处,添加指定的元素 add(int index, Object e):向集合指定索引处
7_4.有集合A={1,2,3,4}和B={1,3,7,9,11},编写一个应用程序输出A和B交集、并集和差集 ...编写一个应用程序,要求将LinkedList创建的对象写入到文件,然后读出一个LinkedList对象,并遍历LinkedList节点中的数据
主要介绍了简单了解java集合框架LinkedList使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了Java集合框架LinkedList详解及实例的相关资料,从定义,概述,用法进行介绍,需要的朋友可以参考下
java中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.doc
第7章 集合;回顾;本章内容;7.1 集合概述;7.1.1 Java集合体系概述;7.1.1 Java集合体系概述;7.1.1 Java集合体系概述;...7.3 Set集合和Iterator迭代器;7.3.1 Set集合;7.3.1 Set集合;7.3.1 Set集合;7.3.1 Set集合;7.3.1 S
3)把集合中的元素打印出来(使用迭代器Iterator) 2、编写程序练习List集合的基本使用: 1) 创建一个只能容纳String对象名为names的ArrayList集合; 2)按顺序往集合中添加5个字符串对象:"张三"、"李四"、"王五...
使用LinkedList模拟堆栈操作,包括进栈、出栈,入队、出队
集合(Arraylist,LinkedList)进阶思维导图
Java ArrayList Vector LinkedList map区别 各种集合的区别 写得非常详细
Java集合系列(LinkedHashMap+LinkedList+ArrayList)
LinkedList是通过节点的连接实现链表的数据结构,向linkedList中插入或删除元素的速度是特别快,而随机访问的速度相对较慢,这个是由于链表本身的性质造成的,在链表中,每个节点都包含了前一个节点的引用,后一个...
掌握List集合、Set集合、Map集合的使用以及Iterator迭代器和foreach循环的使用 了解常用的集合类 熟悉泛型的使用
Java集合详解3:Iterator,fail-fast机制与比较器 Java集合详解4:HashMap和HashTable Java集合详解5:深入理解LinkedHashMap和LRU缓存 Java集合详解6:TreeMap和红黑树 Java集合详解7:HashSet,TreeSet与...
目录前言数组与集合区别集合描述集合格式方法ArrayList实例1.add(E e)2.add(int index, E element)3.addAll(Collection c)4.clear() 与 isEmpty()5.contains(Object o)6.indexOf(Object o)7.iterator()8.remove(int ...