gpt4 book ai didi

java - 对树形图中的值进行排序

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

我读取了一个文本文件并存储在树形图中,每个键都有多个值。例如,

键:A1BG 值:G5730 A4527 E3732 B0166

键:BCA3值:C1478 A4172 D8974 B1432 E2147

键:DB8C 值:N0124 K7414 X9851

因为它是树形图,所以我对所有键进行了排序。现在,我想对与该键对应的所有这些值进行排序。并获取o/p As,

键:A1BG 值:A4527 B0166 E3732 G5730

键:BCA3值:A4172 B1432 C1478 D8974 E2147

键:DB8C 值:K7414 N0124 X9851

我是java新手。任何人都可以帮忙解决这个问题吗?这是我的代码

BufferedReader reader =  new BufferedReader(new FileReader("E:\\book\\datasone.txt"));
Map<String, String> map = new TreeMap<String,String>();
String currentLine;
while ((currentLine = reader.readLine()) != null)
{
String[] pair = currentLine.split("\\s+");
key = pair[0];
value = pair[1];
if(map.containsKey(key))
{
value += map.get(key);
}
else
{
map.put(key,value);
}
}
for (String name: map.keySet())
{
String key =name.toString();
String value = map.get(name).toString();
System.out.println(key + " " + value+ " ");
}

最佳答案

如果没有重复的值,那么您可以将这些值存储为 TreeSet

public class TestMap {

public static void main(String[] args) {

List<String> lines = new ArrayList();
lines.add("A1BG G5730");
lines.add("A1BG A4527");
lines.add("A1BG E3732");
lines.add("A1BG B0166");
lines.add("BCA3 C1478");
lines.add("BCA3 A4172");
lines.add("BCA3 D8974");
lines.add("BCA3 B1432");
lines.add("BCA3 E2147");
lines.add("DB8C N0124");
lines.add("DB8C K7414");
lines.add("DB8C X9851");

Map<String, Set<String>> map = new TreeMap<String,Set<String>>();
for(String currentLine : lines){
String[] pair = currentLine.split("\\s+");
String key = pair[0];
String value = pair[1];
if(!map.containsKey(key)){
Set<String> set = new TreeSet<String>();
map.put(key,set);
}
map.get(key).add(value);
}
for (String name: map.keySet())
{
String key =name.toString();
System.out.print(key);
for (String value : map.get(name)){
System.out.print(" " + value);
}
System.out.println();
}
}
}

输出

A1BG A4527 B0166 E3732 G5730
BCA3 A4172 B1432 C1478 D8974 E2147
DB8C K7414 N0124 X9851

关于java - 对树形图中的值进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18325866/

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