什么会更好的设置,数组或列表?

Jua*_*uan 0 java arrays list set

我需要列出一个人和他们到达聚会的时间列表,当他们离开时,我需要将他们从这个列表中删除.(派对最高人数为150)

Set会告诉我,在任何情况下我都不会两次添加同一个人.
列表将为我提供灵活性,以很少的空格开始列表(如果没有人出现).
数组(不确定它们提供的是什么)但我经常使用它们.

我的想法是要么创建2个数组,一个是名字,另一个是时间.当有人进来时,我将名字保存在另一个中,而将时间保存在另一个上.当他/她离开时我搜索他/她的名字,删除它并使用相同的索引删除另一个数组上的时间.

一个列表可以有一个包含2个元素的数组,然后我只需要将它添加到一个位置,但搜索会更复杂.

或许我太复杂了?

DwB*_*DwB 5

地图实施:

public final class Person
{
  ... remainder left to the student ...
}

Map<Person, Date> currentPartyAttendees; // date is arrival time.
Run Code Online (Sandbox Code Playgroud)

设定实施:

public final class PartyAttendee
{
  ... person details ...
  Date arrive;

  int hashcode()
  {
    ... use Apache HashCodeBuilder ... 
  }

  boolean equals(Object other)
  {
    ... implementation left to student.  Use Apache EqualsBuilder ...
  }
}

Set<PartyAttendee> currentPartyAttendees;
Run Code Online (Sandbox Code Playgroud)