web-dev-qa-db-de.com

MultiValueMap in Java

Ich studiere mit Hashmap mit mehreren Parametern (1 Schlüssel, 2 Werte) Und ich konnte Apache multiValueMap für meine Ausgabe finden.

Hier sind meine Codes für MultiValueMap.

import Java.util.Set;
import org.Apache.commons.collections.map.MultiValueMap;
import org.Apache.commons.collections.MultiMap;

public class multiValueMap {

public static void main(String args[]) {
   String a, b, c;
   MultiMap mMap = new MultiValueMap();

   mMap.put("a", "Hello there, It's a wonderful day");
   mMap.put("a", "Nice to meet you");

   Set<String> keys = mMap.keySet();

   for (String key : keys) {
      System.out.println("Key = " + key);
      System.out.println("Values = " + mMap.get(key));
      a = String.valueOf(mMap.get(key));

      System.out.println("A : " + a);
    }
 }
}
// The result as below
 Key = a 
 Value = [Hello there, It's a wonderful day, Nice to meet you]
 A : [Hello there, It's a wonderful day, Nice to meet you]

Hier ist meine Frage Wie kann ich den ersten Wert für String b und den zweiten für c speichern? wenn ich die MultiMap-Werte von substring abhängt, hängt von "," ab.

9
user3810857

Sie können folgendes versuchen:

String a, b, c;

MultiMap mMap = new MultiValueMap();
mMap.put("a", "Hello there, It's a wonderful day");
mMap.put("a", "Nice to meet you");

Set<String> keys = mMap.keySet();

for (String key : keys) {
    System.out.println("Key = " + key);
    System.out.println("Values = " + mMap.get(key));
    List<String> list = (List<String>) mMap.get(key);

    b = list.get(0);
    c = list.get(1);
    System.out.println("B : " + b);
    System.out.println("C : " + c);
} 
7
Sachin Gupta

Sie müssen keine Trennung durchführen. Dies ist die Dokumentation von MultiMap, die gefunden wurde:

MultiMap mhm = new MultiHashMap();
 mhm.put(key, "A");
 mhm.put(key, "B");
 mhm.put(key, "C");
 Collection coll = (Collection) mhm.get(key);

Wenn Sie nun einen get()-Aufruf auf einer Multimap durchführen, erhalten Sie eine Sammlung. Der erste Gegenstand wird dein b sein und der zweite wird dein c sein. 

1
Praba

Sie können auch einen Schlüssel und ein Objekt verwenden, um mehrere Werte in Multimap zu speichern.

0
Ronit