7

私がしたいのは、クラスのいくつかのインスタンスをリストに保存し、そのリストから特定のインスタンスを取得することです。

これはカスタムクラスの例です

public class Person
{
    private String name;
    //Several unrelevant fields here

    public Person(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }

    //Several unrelevant methods here
}

そして、これは私が現在リスト上のインスタンスの1つ、つまりメインクラスを取得するために使用しているコードです。

public class Main
{
    private List<Person> people = new ArrayList<Person>();
    //More unrelevant fields here

    public Person getPerson(String name)
    {
        for (Person p : people)
            if (p.getName().equalsIgnoreCase(name))
                return p;
        return null;
    }
    //More unrelevant methods here
}

私の質問は、パフォーマンスを向上させるためにこれを書く他の方法があるかどうかです。

4

3 に答える 3

14

キーが名前で、値が人である Map を使用します。

于 2013-09-26T19:44:23.240 に答える