gpt4 book ai didi

java - 使用逻辑读取具有多列的文本文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:08 25 4
gpt4 key购买 nike

我正在读取一个包含多列的文本文件,并将信息存储在一个数组中

文件看起来像这样

Player   |   Team
---------| ---------
PlayerA | Team1
PlayerA | Team2
PlayerB | Team3
PlayerC | Team4
PlayerC | Team5

如您所见,每个玩家都有多个团队。我试图逐行读取此文件,以便在文件末尾有一个包含三个玩家(A、B 和 C)的列表,每个玩家都有相应的团队。

类:

Player - with Name and List<Team> (getter setter for both)
Team - with Name (getter and setter)

我无法弄清楚何时创建 Player 和 Team 类以及记录何时更改玩家名称的逻辑

最佳答案

你可以封装你的personteam在两个类(class)里面PersonTeam ..

然后,您可以使用 Map<Person, List<Team>>为每个人维护不同的团队..

Map<Person, List<Team>> mapping = new HashMap<>();

// Read each line from file..

// Get Person and Team object..

// Assuming that you have your `Person` object in person and `Team` object in team

// You need a Comparator for `Person` class to check for `containment`..
if (mapping.contains(person)) {

// Person already exist.. Update the list of Team he has
mapping.get(person).add(team);

} else {

// New entry.. create a new list.. and add it to map..
List<Team> teamList = new ArrayList<>();
teamList.add(team);
mapping.put(person, teamList);
}

注意:- 你需要有一个 Comparator为你的 Person要比较的类..

我想我已经给了你一个工作的基础..剩下的你需要变通..如何填充你的对象..如何实现比较器..等等..

关于java - 使用逻辑读取具有多列的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12764752/

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