gpt4 book ai didi

java - 查找重复元素的数量并创建它们的数组

转载 作者:行者123 更新时间:2023-12-01 23:45:06 24 4
gpt4 key购买 nike

我有一个数组元素列表,例如[121,122,121,122,123,121,122]输出应该是所有重复元素的数组,例如

[121,121,121]
[122,122,122]
[123]

我只能使用 Java 1.4。这将是我们此版本中的最后一个版本,该应用程序在仅支持 1.4 的 SAP J2EE 服务器上运行。

从 @Subhrajyoti Majumder 的提示中查看完整代码

尺寸打印 9 但当我迭代时它打印太多..根据交货编号,输出应如下

[a1,a2]
[a3,a4]
[a6]
[a7,a8,a9,a10]

提前致谢。

最佳答案

无论您的解决方案如何,如果我正确理解您的问题,那么您的输入将是一个数组(包含重复项),输出将是重复数组的列表。我对这个问题有一个简单的方法,即 Map ,其中 Integer 是键,List 是值。下面写了一个小片段(支持java 1.4)。

Map map = new HashMap();
int[] array = {121,122,121,122,123,121,122};
for(int i=0;i<array.length;i++){
if(map.get(array[i])==null){ // no entry available
List list = new ArrayList();
list.add(array[i]);
map.put(array[i],list);
}else // entry is already available
map.get(array[i]).add(array[i]);
}

我知道你对java版本有限制,尽管使用google可能会更容易collection library - guavaMultiSet库适用于 Java 1.6+

片段-

Multiset<Inetger> multiSet = HashMultiset.create();
int[] array = {121,122,121,122,123,121,122};
multiSet.addAll(Arrays.asList(array));
for (Inetger i : multiSet.elementSet()) {
System.out.println(i + ": " + multiSet.count(i));
}

关于java - 查找重复元素的数量并创建它们的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17205436/

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