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() + " ");
}
}
}
分享到:
相关推荐
Iterator 接口提供了 hasNext、next 和 remove 等方法,用于遍历集合中的元素。 3. List List 是一个有序集合,可以存储重复的数据。List 接口继承自 Collection 接口,提供了一些特定的方法,例如,listIterator...
在本练习中,我们将深入理解并熟练掌握Java集合框架的核心概念。 首先,Java集合主要分为两大类:List(列表)和Set(集合)。List是一个有序的集合,允许有重复元素,比如ArrayList和LinkedList;Set则不允许有...
1. Collection接口:作为单列集合的根接口,提供了集合操作的基本方法,比如增加元素的add方法、移除元素的remove方法、判断是否为空的isEmpty方法、获取集合大小的size方法、迭代器方法iterator等。 2. List接口:...
还有迭代器 (`Iterator`),它是遍历集合的通用方式,通过调用`next()`获取下一个元素,并使用`remove()`删除元素。 数据结构在计算机科学中起着基础性的作用,Java集合框架中的类和接口就是基于这些数据结构设计的...
Iterator 接口是 Java 集合框架中用于遍历集合元素的接口,提供了 hasNext() 和 next() 两个方法,用于遍历集合中的元素。使用 Iterator 接口可以隐藏集合实现类的底层细节,提供统一的遍历集合元素的编程接口。 ...
Iterator<String> iterator = linkedList.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } ``` 接下来是Set,它不允许重复元素。HashSet和TreeSet是两种常见的Set实现。HashSet...
Java 集合是 Java 语言中最基本的数据结构之一,Java 集合框架(Java Collections Framework)提供了多种集合类型,包括 List、Set、Map 等,通过这些集合类型,可以存储和操作大量的数据。本文将对 Java 集合的基本...
Iterator是Java集合中的一种迭代器,用于遍历集合中的每个元素。Iterable是可以迭代的接口,访问的,实现了Iterable接口的集合可以用迭代的方式访问。 Arrays和Collections是Java集合中的两个工具类。Arrays类包含...
- **迭代器**:`Iterator`接口提供了遍历集合的基本机制。 - **增强型for循环**:为遍历集合提供了一种更简洁的方式。 - **并发支持**:Java Collections Framework提供了`ConcurrentHashMap`等并发集合类。 - **...
Java集合框架还包括一些实用工具类,如`Collections`(提供集合操作的静态方法)、`Iterator`(遍历集合的迭代器)和`EnumSet`(专为枚举类型设计的高效集合)。 5. **泛型**:Java集合框架广泛使用泛型,以确保...
6. `iterator()`: 获取迭代器,用于遍历集合。 7. `stream()`: 提供流式处理能力,Java 8引入的新特性,可用于并行处理。 四、泛型 Java集合框架广泛使用了泛型,可以限制集合中存储的元素类型,避免了强制类型转换...
3. 迭代器:Iterator接口提供了遍历集合的方法,能够以统一的方式访问集合中的元素,同时允许在遍历过程中删除元素。 4. 比较器:Comparator接口允许开发者定制对象的比较规则,这在处理排序和检索操作时非常有用。...
此外,集合框架还提供了许多实用工具类,如`Collections`静态类,它包含排序、填充、反转集合等方法,以及`Arrays`类,可以方便地操作数组和集合之间的转换。 在使用集合时,需要注意的一些最佳实践包括: 1. 选择...
迭代器(Iterator)和泛型(Generics)也是集合框架的重要组成部分,它们帮助我们安全、类型安全地遍历和操作集合。 总之,Java技术集合体系图是学习和掌握Java集合框架的关键。通过理解不同接口和实现类的特性,...
4. 集合框架的迭代器和比较器:在Java中,Iterator(迭代器)是遍历集合的一种方式,它允许遍历集合中的每个元素而不暴露集合的内部结构。另外,Comparator接口用于为对象排序提供一种方式,它允许在现有类上定义...
迭代器(Iterator)提供了一种通用的方式来访问集合中的元素。迭代器的工作原理是通过 next() 方法返回元素,并可以通过 remove() 方法删除元素。 Collections 类提供了一些有用的方法,如排序、取最大和最小的元素...
Java集合框架还包含了一些工具类,如`Collections`(提供对集合的静态方法)、`Iterator`(遍历集合元素)、`Comparator`(用于比较对象)等。这些工具极大地提高了代码的可读性和效率。 在实际应用中,选择合适的...
此外,Java集合框架还包括`Collection`、`Iterable`、`Iterator`等接口,它们定义了通用的操作和迭代机制。`Collections`工具类提供了大量静态方法,可以用来操作集合,如排序、填充、复制等。 总的来说,Java集合...