2016-06-23 9 views
3

brauche ich eine Art von Datenstruktur wie HashMap aber ich brauche eine Liste von Werten zu einem Schlüssel zugeordnet werden:>Strukturdaten wie Karten <key,<value>> in Java

Gibt es bereits eine vordefinierte Struktur auf Java? oder sollte ich es umsetzen?

+3

Karte >? – TomekK

+0

Sie können eine Liste als Werttyp verwenden. – Blobonat

+1

Nicht vordefiniert, aber wen interessiert das? Https://github.com/google/guava/wiki/NewCollectionTypesExplained#multimap. – Tom

Antwort

1

Eigentlich in Java gibt es keine integrierte Sammlung für diese Art, aber Sie können erklären, wie Map<Key, List<YourClass>>.

Auch können Sie Guava Sammlung Bibliothek von Google verwenden, wo Sie MultiMaps verwenden können. diesen Link finden Sie, wie es zu benutzen: https://dzone.com/articles/multimaps-google-guava

3

Sie können in der Tat ein Map<Key, List<Value>>, aber Sie haben auch verwenden Multimap in Google Guava, die in Ihrem Fall mit mehreren Implementierungen wie ArrayListMultimap auch interessant sein könnte.

2

JDK 1.7 enthält bereits eine MultiValuedMap mit einer Signatur wie public interface MultivaluedMap<K,V> extends Map<K,List<V>>. Ich hoffe das hilft.

0

Sie können die POJO Klasse Ihrer Bedürfnisse erstellen und die HashMap schaffen können wie: (I Taste nehmen in String, POJO Klasse Auto)

Map<String, List<Car>> carDetails = new HashMap<String, List<Car>>(); 

class Car{ 
    private String headLight; 

    public void setHeadLine(String headLight){ 
      this.headLight = headLight; 
    } 

    public String getHeadLight(){ 
      return headLight; 
    } 
    } 

Dies macht eine Struktur wie Tabelle in der Datenbank mit der Primärschlüssel. Hoffe, das hilft ... !!!