0

次のクラスがあり、エンティティ名にキーと値を提供しますHashMap

import java.util.LinkedHashMap;

public class ObjectStructure {
private String entityName;
private LinkedHashMap<String, String> keyVal;

public String getEntityName() {
    return entityName;
}

public void setEntityName(String entityName) {
    this.entityName = entityName;
}

public LinkedHashMap<String, String> getKeyVal() {
    return keyVal;
}

public void setKeyVal(LinkedHashMap<String, String> keyVal) {
    this.keyVal = keyVal;
}

}

私も次のようにリストしています

private static List<ObjectStructure> JsonObj = new ArrayList<ObjectStructure>();

リストのオブジェクトを取得しているのでJSON、名前でリストを提供するメソッドが必要です (つまり、多くのエントリを持つことができ、特定のエンティティentityNameに対してそれぞれのデータのリストを取得したい)。そのために新しいクラスを作成する必要があると思いますが、それを設計する方法がわかりません。何かアイデアはありますか?

4

2 に答える 2

1

何を求めているのかよくわかりませんが、arraylistからentityNameで
特定のものを返す方法を求めている場合は、をループしてそれぞれのと比較してください。ObjectStructureArrayListsearchStringObjectStructureentityName

ObjectStructure内部の値を探している場合は、右ArrayListを検索してください。見つかったら、探しているキーを検索します。ArrayListObjectStructureObjectStructure

于 2013-03-16T15:54:30.190 に答える
1

別のマップを使用できます。

Map<String, Map<String,String>> entities;

外側のマップのキーはエンティティ名で、内側のマップはキーと値のペアのコレクションです。名前付きエンティティのキ​​ーと値のペアを取得するには、次のようにします。

Map<String, String> keyValueMap = entities.get("MyEntity");
于 2013-03-16T16:26:28.467 に答える