gpt4 book ai didi

java - 计算数组中每个元素的出现次数,而不是按排序顺序,顺序将按照问题中的要求进行

转载 作者:行者123 更新时间:2023-11-30 02:01:26 24 4
gpt4 key购买 nike

我正在尝试计算数组中每个元素的频率。但有一个限制,那就是我不想按排序顺序打印元素。

我的输入就像

7 1 2 1 1 6 8 7

并且输出以这种格式出现 {1=3、2=1、6=1、7=2、8=1}

我不想要

我的输出应该是这样的

7 2 

1 3

2 1

6 1

8 1

对于上面给出的输入。我不需要任何分隔符

import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int n=s.nextInt();
int a[]=new int[n],temp=0,count=0,flag=-1,b[]=new int[n];
for(int i=0;i<n;i++)
{
a[i]=s.nextInt();
}
Map<Integer,Integer> hm = new HashMap();

for(int x:a){
if(!hm.containsKey(x)){
hm.put(x,1);
}else{
hm.put(x, hm.get(x)+1);
}
}
System.out.println(hm);
}
}

最佳答案

使用LinkedHashMap来维护插入顺序。然后使用

hm.entrySet().forEach(e ->  System.out.println(e.getKey() + " " + e.getValue()));

不要只打印 map ,而是对其进行迭代并打印每个键和值。

关于java - 计算数组中每个元素的出现次数,而不是按排序顺序,顺序将按照问题中的要求进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52725115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com