polymap


License

License

GroupId

GroupId

org.codeswarm
ArtifactId

ArtifactId

polymap_2.10
Last Version

Last Version

1.1
Release Date

Release Date

Type

Type

jar
Description

Description

polymap
polymap
Project URL

Project URL

https://github.com/codeswarm/polymap
Project Organization

Project Organization

org.codeswarm
Source Code Management

Source Code Management

https://github.com/codeswarm/polymap

Download polymap_2.10

How to add to project

<!-- https://jarcasting.com/artifacts/org.codeswarm/polymap_2.10/ -->
<dependency>
    <groupId>org.codeswarm</groupId>
    <artifactId>polymap_2.10</artifactId>
    <version>1.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.codeswarm/polymap_2.10/
implementation 'org.codeswarm:polymap_2.10:1.1'
// https://jarcasting.com/artifacts/org.codeswarm/polymap_2.10/
implementation ("org.codeswarm:polymap_2.10:1.1")
'org.codeswarm:polymap_2.10:jar:1.1'
<dependency org="org.codeswarm" name="polymap_2.10" rev="1.1">
  <artifact name="polymap_2.10" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.codeswarm', module='polymap_2.10', version='1.1')
)
libraryDependencies += "org.codeswarm" % "polymap_2.10" % "1.1"
[org.codeswarm/polymap_2.10 "1.1"]

Dependencies

compile (1)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.10.0

test (1)

Group / Artifact Type Version
org.scalatest : scalatest_2.10 jar 1.9.1

Project Modules

There are no modules declared in this project.

PolyMap

This data structure is a straightforward collection of multimaps based on HashMap and HashSet. It ought to have been named "Multi-Index Hash Multi-Map", but that was too long.

Scaladoc API documentation

Supported Scala versions: [ 2.10 ]

SBT dependency: libraryDependencies += "org.codeswarm" %% "polymap" % "1.1"

Example usage

import org.codeswarm.polymap._

case class Person(id: Int, name: String)

// create a collection with 2 indexes
val people = new PolyMap[Person] {
  val byId = index(_.id)
  val byName = index(_.name)
}

// add some elements
people += (Person(1, "Alice"), Person(2, "Bob"), Person(3, "Alice"))

// get people named Alice
people.byName("Alice")

// remove people with id 3
people.byId.remove(3)
org.codeswarm

Codeswarm

Versions

Version
1.1
1.0