0

これがstackoverflowの正しい質問かどうかはわかりませんが、とにかく試してみます.

複数の部品がシステムに入り、異なるマシンで操作される生産システムをシミュレートしようとしています。私は物事を単純にしようとしていますが、先に進むには、次のようにプロパティと値を「オブジェクト」にインデックス付けできるリストを作成する必要があります。

 Machine [num][type][avg_time][posx][posy][state]
 Part [num][type][order][state]

そのため、いつでもプロパティを取得できるようなリストを作成できます。たとえば、次のようになります。

 Machine [1][a][19][100][100][busy]

 and Machine[posx] would retrieve the saved value for it

私はまだArrayLists、LinkedListsなどについてさらに読んでいますが、これを行うための最良の方法を理解できないようです. これを行うための最良の方法は何ですか?この件についてさらに読むことができますか?

4

2 に答える 2

1

EnumsこれをHashMap行うことができます:

public enum Properties {
 POSX, POSY, ...
}

Map<Properties, Value> machine = new HashMap<Properties, Value>();

値を設定するには ....

machine.put(Properties.POSX, 151); //if Value is of Integer class, perhaps

そして、値を取得するには...

machine.get(Properties.POSX)
于 2012-07-10T17:34:06.480 に答える
1

上記の問題は、Mapsとして知られているコレクションに向けられています。

以下の中から、問題に適したものを 1 つ選択してください。

1.プロパティを並べ替えたい場合は、 TreeMap を使用します。

2. Map の中で最速が必要な場合は、 HashMap を使用します。

3. Map をスレッド セーフにする場合は、HashTable を使用します。

4.スレッドセーフのために、 java.util.concurrent パッケージのConcurrentHashMap も使用できます。

例えば:

HashMap<Properties, Value> myMachine = new HashMap<Properties, Value>();
于 2012-07-10T18:26:25.457 に答える