1

私はそれが初心者の質問であることを知っていますが、オンラインで何も見つけることができません.私はこの HashMap を持っています:

HashMap<String, String> map = new HashMap<String, String>();
        Element e = (Element) children.item(i);
        map.put("title", ParseXMLmethods.getValue(e, "title"));
        map.put("pubDate", ParseXMLmethods.getValue(e, "pubDate"));
        map.put("link", ParseXMLmethods.getValue(e, "link"));
        map.put("description",ParseXMLmethods.getValue(e, "description"));
        localist.add(map);

ローカリストで「ローカリストを解決できません」というエラーが表示されます。localist を宣言する必要があることはわかっていますが、使用する変数の型がわかりません。どんな助けでも本当に感謝しています。

4

3 に答える 3

1

まず、Map 変数をインターフェイス Map として宣言し、実装として初期化します。

Map<String, String> map = new HashMap<String, String>();

ひし形演算子 <> を使用して、テンプレートの種類を推測することもできます。

HashMap<String, String> map = new HashMap<>();

上記は必須ではありませんが、良い方法です。ローカリストを宣言するには、次のようにします。

List<Map<String, String>> localist = new ArrayList<>();

これは、文字列を文字列にマップするマップのリストです。

于 2013-09-26T21:39:30.490 に答える
0

マップをリストに追加しようとしている場合は、List<Map>実装を介してArrayList、またはLinkedList主に使用します。ただし、マップのリストを保持する理由は私にはわかりません。複数のマップを保存している場合は、このためのクラスをお勧めします。

于 2013-09-26T21:36:03.250 に答える
0

タイプをどの程度具体的にしたいかによって、使用できますArrayList<HashMap<String, String>> localist = new ArrayList<HashMap<String, String>>();

他の回答で述べたように、最初にシステムでクラスを計画するのに時間がかかります。多くの場合、オンラインで答えが見つからない場合は、拡張可能でモジュール化されたコードを作成する際のアプローチがベスト プラクティスまたは設計ではないことを示唆している可能性があります。

最初は、具体的な実装ではなく、抽象型またはインターフェイス型を使用することを常に検討する必要があります。

AbstractList<Map<String,String>>
于 2013-09-26T21:36:39.153 に答える