0

私はHash好きです

 private Map<String, List<MEventDto>> mEventsMap;

次に、キーが既に存在するかどうかを確認します。存在する場合は、値を更新して新しいキーを追加します。これどうやってするの。

私は次のように試みます:

for (MEventDto mEventDto : mEventList) {
    String mEventKey = mEventDto.getMEventKey();
    String findBaseMEvent = mEventKey.split("_")[0];

    if (mEventsMap.get(findBaseMEvent ) != null) {
        // create new one
        mEventsMap.put(findBaseMEvent , mEventDtoList);
    } else {
        // just update it
         mediationEventsMap.
    }
}

どうすればこれを行うことができHashますか?

4

3 に答える 3

1

Map#containsKeyキーが存在するかどうかを確認するために使用できます: -

したがって、あなたの場合、次のようになります。

if (mEventsMap.containsKey(findBaseMEvent)) {
      // just update the enclosed list
      mEventsMap.get(findBaseMEvent).add("Whatever you want");            
} else {
      // create new entry
      mEventsMap.put(findBaseMEvent , mEventDtoList);
}
于 2012-10-18T11:43:22.983 に答える
0

このメソッドを使用できます

 boolean    containsKey(Object key) 
      Returns true if this map contains a mapping for the specified key.
于 2012-10-18T11:42:12.547 に答える
0

次のようにします。

String mEventKey = mEventDto.getMEventKey();
String findBaseMEvent = mEventKey.split("_")[0];

List<MEventDto> list = mEventsMap.get(findBaseMEvent);
/* 
 * If the key is not already present, create new list, 
 * otherwise use the list corresponding to the key.
 */
list = (list == null) ? new ArrayList<MEventDto>() : list;

// Add the current Dto to the list and put it in the map.
list.add(mEventDto);
mEventsMap.put(findBaseMEvent , mEventDtoList);
于 2012-10-18T11:44:28.237 に答える