gpt4 book ai didi

Java:从 ArrayList 获取子列表的有效方法

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

我有一个 Person[] 数组,如下

[A, B, C, D .....]

列表中的每个人都是该列表中另一个人的 friend 。所以每个人都有一个与他/她相关联的好友列表,如下

Person -> Friend List

[A] -> [B, C, D]

[B] -> [A, C, D]

[C] -> [A, B, D]

等等。

为了实现这一目标,我正在执行以下操作(所有人员都在 people[] 中)

   ArrayList<Person> persons = new ArrayList<>(Arrays.asList(people));
for (int i = 0; i < people.length; i++)
{
Person p = people[i];
for (Person p2: persons)
{
if (p2.name == p.name) continue;
p.add_to_friend_list(p2);
}
}

它对于小型数据集效果很好,但显然对于大型数据集需要花费很多时间。

我想知道是否有办法加快速度,或者我遗漏/做错了什么。

更新:每年的好友列表都不同。例如(文件.txt)

[Year1]4
A
B
D
E
[YEAR2]4
G
H
A
D
[YEAR3]5
K
L
M
C
D

我正在从文件中读取数据。

最佳答案

要获取此人的好友列表,只需从 Person[] 数组中删除 self,Person[] 数组的剩余部分就是该人的好友列表。

关于Java:从 ArrayList 获取子列表的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44097912/

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