1、10万个数据随机产生的范围是0-1000,记录每个数据产生的次数
2、找出第一个重复的数字
3、找出重复次数最多的数据并打印
4、打印全部数据,重复元素只打印一次
import java.lang.reflect.Array;
import java.util.*;
import java.util.HashSet;
public class Demo {
public static void main(String[] args) {
// 产生随机数
ArrayList<Integer> arrayList = new ArrayList <>();
Random random = new Random();
for (int i = 0; i < 100000; i++) {
arrayList.add(random.nextInt(1000)+1);//细节要注意
}
// //用HashMap key:记录产生的数据 value:记录数据出现的次数
HashMap<Integer,Integer> hashMap = new HashMap <Integer, Integer>();
Iterator<Integer> iterator = arrayList.iterator();
while (iterator.hasNext()){
Integer key = iterator.next();
if (hashMap.containsKey(key)){
hashMap.put(key,hashMap.get(key)+1);
}else {
hashMap.put(key,1);
}
}
//遍历HashMap,查看每个数据出现的次数
Iterator<Map.Entry<Integer,Integer>> iterator1 = hashMap.entrySet().iterator();
while (iterator1.hasNext()){
Map.Entry<Integer,Integer> next = iterator1.next();
Integer key = next.getKey();
Integer value = next.getValue();
System.out.println(key+" "+ value+" ");
}
//找出第一个重复的数字
HashSet<Integer> integers = new HashSet <>();
iterator = arrayList.iterator();
while (iterator.hasNext()){
Integer key = iterator.next();
if (integers.contains(key)){
System.out.println("第一个重复的数"+key);
break;
}else {
integers.add(key);
}
}
//找出重复次数最多的数据并打印
iterator1 = hashMap.entrySet().iterator();
int highkey = 0;
int highvalue = 0;
while (iterator1.hasNext()){
Map.Entry<Integer,Integer> next = iterator1.next();
if (next.getValue()>highvalue){
highkey = next.getKey();
highvalue = next.getValue();
}
}
System.out.println("出现重复最多的数:"+highkey);
//打印全部数据,重复元素只打印一次
HashSet<Integer> integers1 = new HashSet<>();
iterator1 = hashMap.entrySet().iterator();
while(iterator1.hasNext()) {
Map.Entry<Integer, Integer> next = iterator1.next();
integers1.add(next.getKey());
}
/*Iterator<Integer> iterator2 = integers1.iterator();
while (iterator2.hasNext()){
System.out.println(iterator2.next());
}*/
System.out.println(integers1);
//计算一个字符串中每一个字符出现的个数
// 用Scanner定义一个字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串");
String string = sc.next();
// 定义hashmap集合,key是字符串中的字符vaule是字符串中重复的数字
HashMap<Character,Integer> map = new HashMap <>();
// 遍历字符串,获取每一个符
for (char c:string.toCharArray()) {
// 判断集合中是否存在key如果存在Value加一
if (map.containsKey(c)){
Integer value = map.get(c);
value++;
map.put(c,value);
}else {
// key不存在时
map.put(c,1);
}
}
for (Character key:map.keySet()) {
Integer value = map.get(key);
System.out.println(key+" "+value);
}
}
}