gpt4 book ai didi

java - 如何在java中对文本文件进行排序和排列以对行进行分组

转载 作者:行者123 更新时间:2023-12-01 15:30:14 24 4
gpt4 key购买 nike

真的很难解决这个问题......

我有一个包含这样数据的文本文件(其中有 17000 行)

45226   1
45226 1
45226 1
45226 3
45226 5
23470 1
45226 5
45226 5
29610 4
37417 2
37417 3
37948 1

我想要做的是对文本文件进行排序(使用java),这样如果右边的值为1,那么所有左边的数字都会被分组。或者如果右边不等于 1(因此任何其他数字),则左边的值是组。例如(但不一定是这样)

3 x 45226   1
4 x 45226 MIXED
1 x 23470 1
1 x 29610 MIXED
2 x 37417 MIXED
1 x 37948 1

我知道我可能需要使用数组?或者某种形式?但我就是无法解决:'(

任何帮助、代码或建议 - 非常感谢!

谢谢!

最佳答案

我会生成两张 map ,一张用于当右边为 1 时,一张用于所有其他右边值。每个映射将左侧值映射到出现次数。然后,您可以通过循环数据来填充 map 。在伪 Java 中:

Map<Integer, Integer> onesMap = new HashMap<Integer, Integer>();
Map(Integer, Integer> otherMap = new HashMap<Integer, Integer>();

for (each left/right pair) {
Map<Integer, Integer> map = right == 1 ? onesMap : otherMap;
Integer count = map.get(left);
map.put(left, count == null ? 1 : (1 + count));
}

最后,键/值对为您提供每个左值所需的计数。

关于java - 如何在java中对文本文件进行排序和排列以对行进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9614112/

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